2013-02-07 20 views
5

मैं मेरा एक निजी परियोजना के लिए वेब-क्रॉलर बारे में अधिक जानने की जरूरत है, और मैं कुछ सवाल का जवाब दे दिया करना चाहते हैं:मैं वेब-क्रॉलर में ट्यूटोरियल के लिए देख रहा हूँ

1) मैं क्या 'द्वारा मैंने सुना है, ऐसा लगता है जैसे Google अपने वेब क्रॉलरों के लिए अजगर का उपयोग करता है, क्या यह सही है?

2) उस प्रश्न के बाद, क्या आप कहेंगे कि यह एक अच्छा विकल्प है? क्या पाइथन उस तरह की चीजों के लिए सबसे उपयुक्त भाषा है? क्यूं कर?

3) वेब क्रॉलर के साथ क्या करना कानूनी है, और क्या नहीं है? मैंने सुना है कि कई वेबसाइट वास्तव में सराहना नहीं करेंगे कि आप अपने बहुत से पेज डाउनलोड करते हैं, लेकिन क्या Google बिल्कुल ठीक नहीं है? यह एक बड़े भूरे रंग के क्षेत्र की तरह लगता है और मैं जानना चाहता हूं कि मैं यह सुनिश्चित कर सकता हूं कि मैं क्या कर सकता हूं कानूनी ...

4) यदि आपके पास वेब-क्रॉलर बनाने के तरीके पर कोई अच्छा ट्यूटोरियल है (प्रोग्रामिंग भाषा महत्वपूर्ण नहीं है), मैं वास्तव में इसके लिए एक लिंक की सराहना करता हूं!

लिए धन्यवाद, और गलतियों के लिए माफ करना, अंग्रेज़ी मेरी मूल भाषा नहीं है ...

+0

यह एक राय है, इसलिए मैं एक उत्तर नहीं दे रहा हूं, लेकिन मुझे लगता है कि इस तरह के विशेष मामलों के लिए अजगर का उपयोग करने का लाभ इसलिए है क्योंकि बहुत सारे मॉड्यूल/पुस्तकालय/आदि हैं। वहां आप उपयोग कर सकते हैं। यह सिर्फ पुस्तकालयों की गुणवत्ता पर निर्भर करता है जो उपयोग करेंगे। – jlafay

+0

यदि आपको एक बार में सीखने के बजाय पाइथन और वेब क्रॉलर पर एक वास्तविक पाठ्यक्रम से गुज़रना नहीं है, तो मैं इस कक्षा में गया और यह बहुत अच्छा है। www.udacity.com/course/cs101 – jonhopkins

उत्तर

11

1) मैं क्या सुना है से, ऐसा लगता है गूगल अपने वेब-क्रॉलर के लिए अजगर का उपयोग करता है की तरह है, क्या वह सही है?

Google का प्रारंभिक संस्करण वेबक्रॉलर के लिए पायथन का उपयोग करता था। यह 90 के दशक के शुरुआती प्रकाशनों में इंगित किया गया है (Anatomy of a Search Engine देखें।) केवल एक Google कर्मचारी आपको बता सकता है कि क्या वे आज भी अपने क्रॉलर के लिए पाइथन का उपयोग करते हैं या नहीं।

2) उस प्रश्न के बाद, क्या आप कहेंगे कि यह एक अच्छा विकल्प है? पाइथन उस तरह की चीजों के लिए सबसे उपयुक्त भाषा है? क्यूं कर?

इस उद्देश्य का उत्तर देने का कोई तरीका नहीं है। यह पूछने के बराबर है "पाइथन एक अच्छी भाषा है?" वेबक्राउलर के लिए पायथन का उपयोग करने के पेशेवरों में विभिन्न वेब और नेटवर्किंग लाइब्रेरी, पार्सर्स इत्यादि शामिल हैं जो पाइथन में आसानी से उपलब्ध हैं, साथ ही तथ्य यह है कि पाइथन के प्रदर्शन की कमी ज्यादातर वेबक्रॉलरों के लिए अधिक मायने रखती नहीं है, क्योंकि वेबकॉलर आमतौर पर यूआरएल को हल करने और डाउनलोड करने के लिए इंतजार कर रहे समय के सभी समय व्यतीत करता है।

3) वेब क्रॉलर के साथ क्या करना कानूनी है, और क्या नहीं है? मैंने सुना है कि कई वेबसाइट वास्तव में इस बात की सराहना नहीं करेंगे कि आप अपने पृष्ठों के बहुत से डाउनलोड करते हैं, लेकिन क्या Google बिल्कुल ठीक नहीं है? यह एक बड़ा ग्रे क्षेत्र की तरह लगता है और मुझे पता है कि मैं कैसे यकीन है कि मैं क्या कर कानूनी है कर सकते हैं चाहता हूँ ...

यह वैधता इतना का सवाल नहीं है के रूप में यह विनम्रता का सवाल है । यदि आप एक बार में कई अनुरोधों के साथ एक वेबसर्वर पर हमला करते हैं, तो यह आपके आईपी पर प्रतिबंध लगाने की संभावना है। वाणिज्यिक वेबकॉलर जैसे कि GoogleBot आम तौर पर क्रॉल-प्रतीक्षा समय का उपयोग करते हैं, ताकि एक ही मेजबान के अनुरोधों के बीच देरी हो। एक अच्छी तरह से व्यवहार किए गए वेबक्रॉलर को भी Robots Exclusion Protocol का पालन करना होगा।

4) आप कैसे वेब-क्रॉलर बनाने के लिए पर कोई अच्छा ट्यूटोरियल है ( प्रोग्रामिंग भाषा महत्वपूर्ण नहीं है), मैं वास्तव में यह करने के लिए एक लिंक की सराहना करेंगे!

संकल्पनात्मक रूप से, वेबक्रॉलर केवल यूआरएल की फीफो कतार है। आप एक प्रारंभिक यूआरएल चुनते हैं, इसे कतार के शीर्ष पर रखें, पॉप करें और यूआरएल डाउनलोड करें, एचटीएमएल पार्स करें और लिंक निकालें, और फिर प्रत्येक लिंक को कतार में जोड़ें। फिर शीर्ष यूआरएल पॉप करें और विज्ञापन infinitum दोहराएं या कुछ रोक स्थिति होने तक।

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