Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में Scrapy का उपयोग करके वेब स्क्रैपिंग कार्यान्वित करना


इस लेख में, हम पायथन में उपलब्ध Scrapy मॉड्यूल का उपयोग करके वेब स्क्रैपिंग तकनीक के बारे में जानेंगे।

वेब स्क्रैपिंग क्या है?

वेब स्क्रैपिंग का उपयोग एक क्रॉलर/स्कैनर की मदद से वेबसाइट से डेटा प्राप्त करने के लिए किया जाता है। वेब स्क्रैपिंग उस वेब पेज से डेटा निकालने में काम आती है जो API की कार्यक्षमता प्रदान नहीं करता है। पायथन में, वेब स्क्रैपिंग विभिन्न मॉड्यूल्स जैसे Beautiful Soup, Scrapy और lxml की मदद से की जा सकती है।

यहां हम Scrapy मॉड्यूल का उपयोग करके वेब स्क्रैपिंग पर चर्चा करेंगे।

इसके लिए, हमें पहले Scrapy इंस्टॉल करना होगा।

टर्मिनल या कमांड प्रॉम्प्ट में टाइप करें -

>>> pip install Scrapy

चूंकि Scrapy एक फ्रेमवर्क है, हमें एक इनिशियलाइज़िंग कमांड चलाने की आवश्यकता है

>>> scrapy startproject tutpts

यहां हम एक वेब क्रॉलर/स्पाइडर बनाते हैं ताकि वेबसाइट से डेटा निकाला जा सके।

क्रॉलर बनाने के लिए हम एक अलग स्क्रिप्ट tutptscraw.py बनाते हैं। यहां हम सामग्री निष्कर्षण के लिए एक क्लास घोषित करते हैं। यहां हम वेब क्रॉलर को नाम देते हैं और .requests का उपयोग करके दिए गए URL से डेटा प्राप्त करते हैं।

जनरेटर फंक्शन्स का उपयोग किया जाता है जो प्राप्त डेटा को यील्ड करते हैं।

import scrapy
class ExtractUrls(scrapy.Spider):
name = "fetch"
# जनरेटर फंक्शन
def start_requests(self):
# URL दर्ज करें
urls = ['https://www.tutorialspoint.com/index.htm/',]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)

यहां एंकर टैग के भीतर संलग्न सभी डेटा को रिक्वेस्ट फंक्शन का उपयोग करके प्राप्त किया जाता है। चूंकि Scrapy एक मिनी फ्रेमवर्क है, हम सभी कार्यक्षमताओं को Scrapy शेल में चलाते हैं।

Scrapy शेल को सक्रिय करने के लिए हम निम्न कमांड का उपयोग करते हैं

scrapy shell https://www.tutorialspoint.com/index.htm

अब हम सेलेक्टर्स यानी CSS या xpaths का उपयोग करके एंकर टैग से डेटा प्राप्त करते हैं

response.css('a')
links = response.css('a').extract()

वेब पेज पर उपलब्ध सभी लिंक प्राप्त करने के लिए हम एक parse मेथड बनाते हैं। Scrapy आंतरिक रूप से पहले देखे गए URLs को बायपास करता है जिससे परिणामों के प्रदर्शन के दौरान रेंडरिंग समय कम हो जाता है।

import scrapy
class ExtractUrls(scrapy.Spider):
name = "fetch"
# जनरेटर फंक्शन
def start_requests(self):
# URL दर्ज करें
urls = ['https://www.tutorialspoint.com/index.htm/',]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
# Parse फंक्शन
def parse(self, response):
title = response.css('title::text').extract_first()
# एंकर टैग प्राप्त करें
links = response.css('a::attr(href)').extract()
for link in links:
yield
{
'title': title,
'links': link
}
if 'tutorialspoint' in link:
yield scrapy.Request(url=link, callback=self.parse)

निष्कर्ष

इस ट्यूटोरियल में, हमने पायथन में Scrapy मॉड्यूल का उपयोग करके वेब क्रॉलर के कार्यान्वयन के बारे में सीखा।

  1. Python में फोटोमोज़ाइक्स इम्प्लीमेंट करना Python में फोटोमोज़ाइक्स इम्प्लीमेंट करना

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

  1. वेब स्क्रैपिंग के लिए पायथन टूल्स वेब स्क्रैपिंग के लिए पायथन टूल्स

    कंप्यूटर विज्ञान में वेब स्क्रैपिंग का अर्थ वेबसाइटों से डेटा निकालना है। इस तकनीक का उपयोग करके वेब पर असंरचित डेटा को संरचित डेटा में बदलें। पायथन 3 में सबसे आम वेब स्क्रैपिंग टूल्स हैं - Urllib2 Requests BeautifulSoup Lxml Selenium MechanicalSoup Urllib2 - यह टूल पायथन के साथ प्री-इंस्टॉल्ड आत

  1. 2024 के 31 सर्वश्रेष्ठ वेब स्क्रैपिंग टूल – सभी उपयोगकर्ताओं के लिए आसान, शक्तिशाली और विश्वसनीय 2024 के 31 सर्वश्रेष्ठ वेब स्क्रैपिंग टूल – सभी उपयोगकर्ताओं के लिए आसान, शक्तिशाली और विश्वसनीय

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