.Net (C #) में वेब स्क्रैपिंग के लिए पैटर्न और अभ्यास [बंद]


9

मैं एक बाहरी वेब साइट / एप्लिकेशन को स्वचालित करने के लिए एक साथ एक आवेदन डालूंगा। कुछ उदाहरणों में, मुझे उपयोगकर्ता के रूप में साइट को नेविगेट करने की आवश्यकता होगी (कुछ लिंक जिनका मुझे पालन करने की आवश्यकता है, उन्हें भविष्यवाणी नहीं की जा सकती है और एक प्रतिक्रिया से पार्स किया जाना चाहिए)

मैं पहले से ही Html Agility Pack का उपयोग कर रहा हूं , और यदि आवश्यक हो तो Tidy से अवगत हूं ।

क्या ऐसी कोई अन्य तकनीक है जिसकी मुझे जानकारी होनी चाहिए?

क्या बाहरी वेब ऐप परिवर्तन होने की स्थिति में जल्दी से समायोजित करने में सक्षम होने के लिए कोई अनुशंसित पैटर्न है? मैं कुछ प्रकार की रणनीति या समान पैटर्न के रूप में प्रतिक्रियाओं के सत्यापन को संलग्न करने की कल्पना कर रहा हूं जिसे आसानी से अलग किया जा सकता है / आवश्यक रूप से प्लग किया जा सकता है, लेकिन कोई भी विशिष्ट सुझाव बहुत अच्छा होगा।


इसके बारे में, कोई भी चरण-दर-चरण मार्गदर्शिका, या आरंभ करना - त्वरित शुरुआत जो 15-20 मिनट में पूरी हो सकती है? मैं आपको berniecook.wordpress.com/2013/01/13// की तरह एक अच्छा कदम-दर-चरण गाइड नमूना प्राप्त करता हूं। मैं शुरू करने से पहले कई मान्यताओं को जल्दी से कवर करना चाहता था: स्थापित करें (अपेक्षित, उपकरण आवश्यक), कॉन्फ़िगर करें, एक जल्दी से दौड़ना। लक्ष्य एक "गो और रेडी" नमूना होगा। शायद बेहतर एक वास्तविक आवेदन नमूना।
किकेनेट

जवाबों:


4

यदि आप एक उपयोगकर्ता के रूप में बाहरी वेबसाइट के नेविगेशन को स्वचालित करना चाहते हैं, तो इसके लिए वाटिन सही है। यह एक ऑब्जेक्ट मॉडल के माध्यम से एक वेब ब्राउज़र को चलाएगा, और इसमें डोम पर निर्मित पार्सिंग क्षमताओं की एक विस्तृत श्रृंखला है (साथ ही साथ गैर-डोम क्षमताओं जो आपको एक ब्राउज़र में मिलेगी, स्क्रिप्टिंग सहित)।

यहाँ एक लिंक है:

Watin.org


Watin C # के लिए आपकी पसंदीदा जावास्क्रिप्ट लाइब्रेरी की तरह है।
मफिन मैन

पूर्ण स्रोत कोड नमूना आवेदन के साथ कोई अंतिम समाधान ? IMHO, कम से कम सीखने की अवस्था के लिए बेहतर नमूने पूर्ण स्रोत कोड और अच्छे पैटर्न और अभ्यासों के साथ वास्तविक अनुप्रयोग हैं
Kiquenet

0

यदि आप बाहरी वेब ऐप में उन लोगों को ट्रैक करने के लिए जल्दी से बदलाव करने की क्षमता की तलाश कर रहे हैं , तो मैं स्क्रिप्टिंग को देखूंगा। यदि C # आपकी पसंद की भाषा है, तो मक्खी पर संकलन कोड देखें। यदि आप एक डेटाबेस का उपयोग कर रहे हैं, तो स्क्रिप्ट कोड वहां संग्रहीत किया जा सकता है, अन्यथा, सादे पाठ फ़ाइलें भी काम करेंगी।

GoF पैटर्न के रूप में, रणनीति पाठ्यपुस्तक की पसंद है।

विचार करने के लिए अन्य "पैटर्न", खासकर जब से आपने अगली कार्रवाई का चयन करने के लिए उनका उपयोग करते हुए मान्य प्रतिक्रियाओं का उल्लेख किया है, एक परिमित राज्य मशीन है । उदाहरण के लिए, वेब-मेल क्लाइंट के लिए राज्य "लॉग इन", "इनबॉक्स", "रीडिंग मैसेज", "एडिटिंग रिप्लाई" आदि नहीं हो सकते हैं। आप राज्य के आधार पर कुछ कार्रवाई को अंजाम देंगे, फिर उसके आधार पर प्रतिक्रिया, अगले राज्य का चयन करें।


0

पैटर्न वास्तव में समस्या से स्टेम करना चाहिए लेकिन यहां कुछ विकल्प हैं:

यदि आप मुख्य रूप से चल रही विकास लागत / झुंझलाहट से संबंधित हैं: रणनीति पैटर्न (पहले से ही उल्लेख किया गया है) - घटक स्तर के इंटरफेस को लागू करने के लिए इसका उपयोग करें, और विशिष्ट रणनीतियों (कार्यान्वयन) को हल करने के लिए एक गतिशील बंधन पद्धति का उपयोग करें। एक IOC कंटेनर (मुझे इन दिनों ऑटोफैक पसंद है) अच्छा काम करेगा।

यदि आपको ऊपर समर्थन करने की आवश्यकता है तो प्लस को स्केल करने की आवश्यकता है: मैप रिड्यूस (किसी को भी .net के लिए एक अच्छे m + r f के बारे में पता है?)।


-1

इस पर निर्भर करता है कि वेबपृष्ठ कितना बदलता है, यह कठिन हो सकता है। आप एक DB में मानक नियमित अभिव्यक्तियों की सूची रख सकते हैं और फिर जब कोई काम नहीं करता है तो आप दूसरों के साथ आधार सेट के माध्यम से लूप कर सकते हैं जब तक कि आप एक हिट नहीं करते। फिर आप इसे भविष्य में उपयोग के लिए चिह्नित करना चाहेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.