मेरे पास पाइथन में एक मध्यवर्ती ज्ञान है। अगर मुझे अजगर में एक वेब क्रॉलर लिखना है, तो मुझे किस चीज का पालन करना चाहिए और मुझे कहां से शुरू करना चाहिए। क्या कोई विशिष्ट टट है? कोई सलाह बहुत मदद की होगी .. धन्यवादपायथन में एक वेब क्रॉलर। मुझे कहां से शुरू करना चाहिए और मुझे क्या करना चाहिए? - मदद की आवश्यकता
उत्तर
क्यों existing code की तलाश नहीं है जो आपको पहले से ही चाहिए? यदि आपको स्वयं को बनाने की ज़रूरत है, तो यह अभी भी मौजूदा कोड को देखने और इसे बनाने के लिए इसे डिज़ाइन करने के लायक है।
आपको निश्चित रूप से एक HTML पार्सिंग लाइब्रेरी की आवश्यकता होगी। इसके लिए आप सुंदर सूप का उपयोग कर सकते हैं। आप यूआरएल लाने और ऑफलाइन पेज में लौटाए गए एचटीएमएल को प्रोसेस करने के लिए बहुत सारे नमूने और ट्यूटोरियल पा सकते हैं: http://www.crummy.com/software/BeautifulSoup/
धन्यवाद ..:) से शुरू करने के लिए, मुझे यह जानने में दिलचस्पी है कि पुस्तकालयों/मॉड्यूल को आयात करना चाहिए? इस के साथ? मेरा उद्देश्य एक साधारण क्रॉलर लिखना है (बहु थ्रेडिंग के बिना, यदि वह मायने रखता है) –
सुंदर सूप के साथ काम करना बहुत आसान है। "सुंदर सूप आयात से सुंदर सूप; सूप = सुंदर सूप (" "" ... "" " –
एक और अच्छी लाइब्रेरी जो आपको चाहिए वह पार्सिंग फीड्स के लिए है। अब जब आपके पास यूआरएल के लिए सुंदर सूप है, तो आप फ़ीड्स के लिए फीडपार्सर का उपयोग कर सकते हैं। http://www.feedparser.org/
स्टैक ओवरफ्लो (एसओ) में आपका स्वागत है। अगली बार, केवल नई जानकारी के साथ अपना मौजूदा उत्तर संपादित करें :) –
मैं दृढ़ता से Scrapy पर एक नज़र डालने की सलाह देता हूं। लाइब्रेरी सुंदर सूप, या आपके पसंदीदा एचटीएमएल पार्सर के साथ काम कर सकती है। मैं व्यक्तिगत रूप से lxml.html के साथ इसका उपयोग करता हूं।
बॉक्स से बाहर, आप मुक्त करने के लिए कई चीजें प्राप्त करते हैं:
- समवर्ती अनुरोधों, मुड़ के लिए धन्यवाद
CrawlSpider
वस्तुओं रिकर्सिवली पूरी साइट में लिंक के लिए देखो- डेटा निष्कर्षण & के महान जुदाई प्रसंस्करण, जो समांतर प्रसंस्करण क्षमताओं में से अधिकांश बनाता है
+1 अनुशंसा के लिए scrapy –
यदि आप अभी भी लिखना चाहते हैं स्क्रैच से एक, आप mechanize मॉड्यूल का उपयोग करना चाहेंगे। इसमें ब्राउज़र को अनुकरण करने के लिए आवश्यक सब कुछ शामिल है, और यूआरएल लाने के लिए स्वचालित करें। मैं अनावश्यक हो जाऊंगा और आपके द्वारा प्राप्त किए गए किसी भी एचटीएमएल को पार्स करने के लिए सुंदर सूप भी कहूंगा। अन्यथा, मैं स्केपर के साथ जाऊंगा ...
यह आपकी आवश्यकताओं पर निर्भर करता है। यदि आपको मूल वेबक्रैपिंग की आवश्यकता है, तो मशीनीकरण + सुंदर सूप इसे बना देगा।
यदि आपको जावास्क्रिप्ट को प्रस्तुत करने की आवश्यकता है, तो मैं सेलेनियम, या spynner के लिए जाऊंगा। दोनों महान हैं।
आईबीएम डेवलपर वर्क्स इस https://www.ibm.com/developerworks/linux/library/l-spider/#N101C6 पर एक लेख है। आप उन पुस्तकालयों का उपयोग करना चाहेंगे जो दूसरों ने सुझाए हैं, लेकिन यह आपको प्रवाह का एक समग्र विचार देगा।
import re, urllib
textfile = file('depth_1.txt','wt')
print "Enter the URL you wish to crawl.."
print 'Usage - "http://dynamichackerboys.blogspot.in" <-- With the double quotes'
myurl = input("@> ")
for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I):
print i
for ee in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I):
print ee
textfile.write(ee+'\n')
textfile.close()
प्रिंट 'उपयोग - "http://dynamichackerboys.blogspot.in" < - दोहरे उद्धरण चिह्नों के साथ' myurl = इनपुट ("@>") re.findall में मैं के लिए ('' 'href = "' [" ' ] '' ', urllib.urlopen (myurl) .read(), re.I): ie12 re1findall (' 'href =' ' (i) .read(), re.I): प्रिंट ee textfile.write (ee + '\ n') textfile.close()
वेबसाइट में रेंगने के लिए
- 1. मुझे एक एपीआई चाहिए। मुझे कहां से शुरू करना चाहिए?
- 2. मुझे क्या करना चाहिए?
- 3. घटक बनाने के दौरान मुझे कहां से शुरू करना चाहिए?
- 4. मुझे CorFlags.exe कहां से डाउनलोड करना चाहिए?
- 5. क्या मुझे पायथन 3.0 के साथ शुरू करना चाहिए?
- 6. मुझे जावा-आधारित वेब विकास कैसे शुरू करना चाहिए?
- 7. मुझे संवेदनशील चर कहां स्टोर करना चाहिए?
- 8. मुझे डीडीडी कैसे शुरू करना चाहिए?
- 9. क्या मुझे LINQ से SQL का उपयोग शुरू करना चाहिए?
- 10. एंड्रॉइड में दिलचस्पी प्रोग्रामर शुरू करना - क्या मुझे जावा से शुरू करना चाहिए?
- 11. क्या मुझे स्कैला का अध्ययन करना चाहिए?
- 12. डीएसएल क्या है और मुझे इसका उपयोग कहां करना चाहिए?
- 13. मुझे देखने में क्या करना चाहिए DidUnload?
- 14. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 15. सी # लॉगिंग। मुझे क्या उपयोग करना चाहिए?
- 16. .NET में एक नई रीस्टफुल वेब सेवा विकसित करना - मुझे कहां से शुरू करना चाहिए? एएसपी.नेट-एमवीसी, डब्ल्यूसीएफ?
- 17. मुझे किस पायथन का उपयोग करना चाहिए?
- 18. क्या मुझे PHP में mysql से पुनः कनेक्ट करना चाहिए?
- 19. क्या मुझे एक फाइल खोलनी चाहिए या क्या मुझे अक्सर खोलना और बंद करना चाहिए?
- 20. क्या मुझे std :: stringstream preallocate करना चाहिए?
- 21. मुझे कितना अनुकूलित करना चाहिए?
- 22. एमवीसी: मुझे डेटा प्रारूपित करना चाहिए?
- 23. क्या मुझे इरनो सेट करना चाहिए?
- 24. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 25. क्या मुझे रेल माइग्रेशन फ़्लैट करना चाहिए?
- 26. क्या मुझे jQuery.each() का उपयोग करना चाहिए?
- 27. क्या मुझे संदर्भक्यू पर सिंक्रनाइज़ करना चाहिए?
- 28. क्या मुझे jQuery.inArray() का उपयोग करना चाहिए?
- 29. क्या मुझे मार्कडाउन को स्वच्छ करना चाहिए?
- 30. मुझे सी ++ में स्थिर वर्ग चर क्यों शुरू करना चाहिए?
यह सिर्फ अभी भी एक शिक्षार्थी है और मैं केवल कुछ चीजों को समझूंगा यदि मुझे मूल बातें मिलती हैं, तो सही तरीका। आपकी मदद के लिए धन्यवाद हालांकि, मैं अब कोड देख रहा हूं :) –