स्क्रेपी ट्यूटोरियल: कैसे एक वेब क्रॉलर बनाने के लिए बकवास का उपयोग कर?



इस स्क्रेपी ट्यूटोरियल लेख में, आप विभिन्न डेटा निष्कर्षण तकनीकों और डेटाबेस पर डेटा संग्रहीत करने के तरीकों के साथ एक वेब-क्रॉलर बनाना सीखेंगे।

वेब स्क्रैपिंग वेबपेजों से डेटा इकट्ठा करने का एक प्रभावी तरीका है, यह एक प्रभावी टूल बन गया है । विभिन्न के साथ पुस्तकालय जैसे वेब स्क्रैपिंग के लिए प्रस्तुत है , एक डेटा साइंटिस्ट का काम इष्टतम हो जाता है। स्क्रैपी एक शक्तिशाली वेब फ्रेमवर्क है जिसका उपयोग डेटा निकालने, प्रसंस्करण और भंडारण के लिए किया जाता है। हम सीखेंगे कि कैसे हम इस टेढ़े-मेढ़े ट्यूटोरियल में वेब क्रॉलर बना सकते हैं, इस ब्लॉग में चर्चा किए गए विषय निम्नलिखित हैं:

क्या बकवास है?

स्क्रेपी एक स्वतंत्र और ओपन-सोर्स वेब क्रॉलिंग फ्रेमवर्क है जिसे अजगर में लिखा गया है। यह मूल रूप से प्रदर्शन करने के लिए डिज़ाइन किया गया था , लेकिन एपीआई का उपयोग करके डेटा निकालने के लिए भी इस्तेमाल किया जा सकता है। यह स्क्रैपिंगहब लि। द्वारा बनाए रखा जाता है।





जब यह वेबपेज डाउनलोड करने, प्रोसेसिंग करने और डेटा को स्टोर करने की बात आती है, तो स्क्रेपी एक पूरा पैकेज होता है ।

यह एक पावरहाउस की तरह होता है जब किसी वेबसाइट को खुरचने के कई तरीकों के साथ वेब स्क्रैपिंग की बात आती है। स्क्रेपी एक मिनट से भी कम समय में कई पृष्ठों या URL के समूह को स्क्रैप करते हुए बड़े कार्यों को आसानी से संभालता है। यह एक ट्विस्टर का उपयोग करता है जो समरूपता प्राप्त करने के लिए अतुल्यकालिक रूप से काम करता है।



यह मकड़ी के अनुबंध प्रदान करता है जो हमें सामान्य और साथ ही गहरे क्रॉलर बनाने की अनुमति देता है। स्क्रैपी एक मकड़ी में कार्य बनाने के लिए आइटम पाइपलाइन भी प्रदान करता है जो विभिन्न ऑपरेशन कर सकता है जैसे डेटा में मानों को प्रतिस्थापित करना आदि।

घिसा-पिटा आर्किटेक्चर-स्क्रेपी ट्यूटोरियल-एडुरका

एक वेब क्रॉलर क्या है?

एक वेब-क्रॉलर एक प्रोग्राम है जो वेब पर दस्तावेजों के लिए स्वचालित रूप से खोज करता है। वे मुख्य रूप से स्वचालित ब्राउज़िंग के लिए दोहरावदार कार्रवाई के लिए प्रोग्राम किए गए हैं।

यह काम किस प्रकार करता है?



एक वेब-क्रॉलर एक लाइब्रेरियन के समान है। यह वेब पर जानकारी की तलाश करता है, जानकारी को वर्गीकृत करता है और फिर क्रॉल की गई जानकारी के लिए सूचनाओं को अनुक्रमणित करता है और तदनुसार सूचीबद्ध करता है।

क्रॉलर द्वारा किए जाने वाले ऑपरेशन पहले से बनाए जाते हैं, फिर क्रॉलर उन सभी ऑपरेशनों को स्वचालित रूप से करता है जो एक इंडेक्स बनाएंगे। इन इंडेक्स को आउटपुट सॉफ्टवेयर द्वारा एक्सेस किया जा सकता है।

आइए विभिन्न अनुप्रयोगों पर एक नज़र डालें, जिनके लिए एक वेब-क्रॉलर का उपयोग किया जा सकता है:

  • वेब-क्रॉलर का उपयोग करके विभिन्न प्लेटफार्मों पर कीमतों की तुलना करने के लिए मूल्य तुलना पोर्टल्स विशिष्ट उत्पाद विवरणों की खोज करते हैं।

  • सूचना के पुनर्प्राप्ति के लिए डेटा माइनिंग के क्षेत्र में एक वेब-क्रॉलर बहुत महत्वपूर्ण भूमिका निभाता है।

  • डेटा विश्लेषण टूल वेब-क्रॉलर का उपयोग पेज व्यू, इनबाउंड और आउटबाउंड लिंक के लिए डेटा की गणना करने के लिए करते हैं।

    झांकी में डेटा सम्मिश्रण क्या है
  • क्रॉलर सूचना पोर्टल जैसे डेटा एकत्र करने के लिए सूचना केंद्रों की सेवा करते हैं।

कैसे स्क्रैप स्थापित करने के लिए?

अपने सिस्टम पर स्क्रैपी स्थापित करने के लिए, इसे एक समर्पित वर्चुअनव पर स्थापित करने की सिफारिश की जाती है। यदि आप उपयोग कर रहे हैं तो अधिष्ठापन किसी अन्य पैकेज के समान ही समान रूप से काम करता है कोंडा पर्यावरण, स्क्रैप करने के लिए निम्न कमांड का उपयोग करें:

conda install -c conda-forge scrapy

तुम भी स्क्रैप स्थापित करने के लिए पाइप वातावरण का उपयोग कर सकते हैं,

पाइप स्थापित स्क्रैप

आपके ऑपरेटिंग सिस्टम के आधार पर कुछ संकलन निर्भरताएं हो सकती हैं। बकवास शुद्ध अजगर में लिखा गया है और कुछ अजगर पैकेज पर निर्भर हो सकता है:

  • lxml - यह एक कुशल XML और HTML पार्सर है।

  • पार्सल - एक HTML / XML निष्कर्षण पुस्तकालय जो कि lxml पर शीर्ष पर लिखा गया है

  • W3lib - यह URL और वेबपेज एन्कोडिंग से निपटने के लिए एक बहुउद्देश्यीय सहायक है

  • मुड़ - एक अतुल्यकालिक नेटवर्किंग ढांचा

  • क्रिप्टोग्राफी - यह विभिन्न नेटवर्क-स्तरीय सुरक्षा जरूरतों में मदद करता है

आपका पहला स्क्रेपी प्रोजेक्ट शुरू करना

अपनी पहली मैला परियोजना शुरू करने के लिए, उस निर्देशिका या स्थान पर जाएँ जहाँ आप अपनी फ़ाइलों को सहेजना चाहते हैं और निम्नलिखित कमांड को निष्पादित करते हैं

स्क्रैपबायप्रोजेक्ट प्रोजेक्टनेम

जब आप इस कमांड को निष्पादित करते हैं, तो आपको उस स्थान पर बनाई गई निम्न निर्देशिका मिल जाएगी।

  • परियोजना का नाम/

    • scrapy.cfg: यह विन्यास फाइल को प्रदर्शित करता है

  • परियोजना का नाम/

    • __init__.py: प्रोजेक्ट्स पायथन मॉड्यूल

    • आइटम्सहोम: प्रोजेक्ट आइटम डेफिनिशन फाइल

    • midwares.py: प्रोजेक्ट midwares फ़ाइल

    • pipelines.py: प्रोजेक्ट पाइपलाइन फ़ाइल

    • settings.py: project settings file

  • मकड़ियों /

    • __init__.py: एक निर्देशिका जहां बाद में आप अपने मकड़ियों को रखेंगे

आपका पहला स्पाइडर बनाना

मकड़ियों वे वर्ग हैं जिन्हें हम वेब से जानकारी एकत्र करने के लिए परिभाषित करते हैं और स्क्रैप करते हैं। आपको स्क्रैपी.साइडर को उप-लिंक करना होगा और बनाने के लिए प्रारंभिक अनुरोधों को परिभाषित करना होगा।

आप एक अलग अजगर फ़ाइल में अपने मकड़ी के लिए कोड लिखते हैं और इसे अपने प्रोजेक्ट में प्रोजेक्टनेम / मकड़ियों निर्देशिका में सहेजते हैं।

quotes_spider.py

आयात स्क्रैपी क्लास QuotesSpider (स्क्रैपी.स्पीडर): नाम = 'उद्धरण' def start_request (स्वयं): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrax.com url में url के लिए / पृष्ठ / 2 /,]: उपज स्क्रैपी। असमान (url = url, callback = self.parse) डीप पार्स (स्व, प्रतिक्रिया): पेज = response.url.split ('' ') [- 2 ] फ़ाइल नाम = 'उद्धरण-% s.html'% पृष्ठ खुले (फ़ाइल नाम, 'wb') के रूप में f: f.write (response.body) self.log ('सहेजी गई फ़ाइल% s'% फ़ाइल नाम)

जैसा कि आप देख सकते हैं, हमने अपने मकड़ियों में विभिन्न कार्यों को परिभाषित किया है,

  • नाम: यह मकड़ी की पहचान करता है, इसे पूरे प्रोजेक्ट में विशिष्ट होना चाहिए।

  • start_requests (): स्पाइडर के साथ क्रॉल करना शुरू हो जाएगा, जो अनुरोधों की पुनरावृत्ति को वापस करना होगा।

    जावा में बफेड्रेडर क्या करता है
  • parse (): यह एक विधि है जिसे प्रत्येक अनुरोध के साथ डाउनलोड की गई प्रतिक्रिया को संभालने के लिए बुलाया जाएगा।

डेटा निकालना

अब तक मकड़ी किसी भी डेटा को नहीं निकालती है, यह पूरी HTML फ़ाइल को बचा लेती है। एक टेढ़ा मकड़ी आम तौर पर पृष्ठ से निकाले गए डेटा वाले कई शब्दकोशों को उत्पन्न करता है। हम डेटा निकालने के लिए कॉलबैक में अजगर में उपज कीवर्ड का उपयोग करते हैं।

आयात स्क्रैपी वर्ग QuotesSpider (स्क्रैपी.स्पीडर): नाम = 'उद्धरण' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (self, response): response.css ('div.quote') में उद्धरण के लिए: उपज {'text': quote.css (span.text :: text ')। get (),' author ': उद्धरण। .css (small.author::text ') मिलता है (),' टैग ': quot.css (div.tags a.tag :: text')। getall ()}

जब आप इस मकड़ी को चलाते हैं, तो यह लॉग के साथ निकाले गए डेटा को आउटपुट करेगा।

डेटा संग्रहीत करना

निकाले गए डेटा को संग्रहीत करने का सबसे सरल तरीका फ़ीड निर्यात का उपयोग करके है, अपने डेटा को संग्रहीत करने के लिए निम्न आदेश का उपयोग करें।

टेढ़ा-मेढ़ा क्रॉल कोट -o quotes.json

यह कमांड सभी स्क्रैप किए गए आइटमों से युक्त एक उद्धरण। Json फ़ाइल उत्पन्न करेगा, जिसे क्रमबद्ध किया गया है JSON

यह हमें इस लेख के अंत में लाता है जहां हमने सीखा है कि कैसे हम एक वेबसाइट को परिमार्जन करने के लिए अजगर में स्क्रैपी का उपयोग करके एक वेब-क्रॉलर बना सकते हैं और डेटा को JSON फ़ाइल में निकाल सकते हैं। मुझे आशा है कि आप इस ट्यूटोरियल में आपके साथ साझा किए गए सभी के साथ स्पष्ट हैं।

यदि आपको यह लेख 'स्क्रैपी ट्यूटोरियल' प्रासंगिक है, तो बाहर की जाँच करें दुनिया भर में फैले 250,000 से अधिक संतुष्ट शिक्षार्थियों के नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी।

हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने के लिए हैं और एक पाठ्यक्रम के साथ आते हैं जो छात्रों और पेशेवरों के लिए बनाया गया है जो बनना चाहते हैं । पाठ्यक्रम आपको पायथन प्रोग्रामिंग में एक शुरुआत देने के लिए डिज़ाइन किया गया है और आपको विभिन्न प्रकार के साथ कोर और उन्नत पायथन अवधारणाओं के लिए प्रशिक्षित करता है। पसंद

यदि आपको कोई प्रश्न आता है, तो बेझिझक 'स्क्रेपी ट्यूटोरियल' के टिप्पणी अनुभाग में अपने सभी प्रश्न पूछें और हमारी टीम जवाब देने में प्रसन्न होगी।