2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
अद्यतनस्य अन्तर्जालयुगे दत्तांशः महत्त्वपूर्णेषु संसाधनेषु अन्यतमः अस्ति । एतत् दत्तांशं प्राप्तुं प्रायः अस्माभिः विभिन्नजालस्थलात् सूचनां क्रॉल कर्तुं जालक्रॉलर् लिखितव्यम् । पायथन् इति शक्तिशालिनः प्रोग्रामिंग् भाषारूपेण जालक्रॉलिंग् इत्यस्य कृते बहवः साधनानि पुस्तकालयाः च सन्ति । इत्यस्मिन्,स्क्रैपी एकं शक्तिशालीं लचीलं च मुक्तस्रोतजालक्रॉलररूपरेखा अस्ति यत् वेबसाइट् क्रॉलं कर्तुं आवश्यकदत्तांशं निष्कासयितुं च कुशलं मार्गं प्रदाति । अयं लेखः Scrapy-रूपरेखायाः मूल-अवधारणासु, उपयोगेषु, उन्नत-तकनीकानां च गहनतया गमिष्यति यत् भवन्तं जाल-क्रॉलर-विकासाय Scrapy-इत्यस्य अधिकतया अवगन्तुं, प्रयोक्तुं च सहायं करोति
स्क्रैपी-रूपरेखायाः निम्नलिखित-लाभाः सन्ति ।
स्क्रैपी-रूपरेखा मुख्यतया निम्नलिखितघटकैः युक्तं भवति ।
प्रथमं अस्माभिः Scrapy framework संस्थापनीयम् । pip आदेशस्य उपयोगेन एतत् संस्थापयितुं शक्यते :
-
-
- bash复制代码运行
-
- pip install scrapy
Scrapy framework इत्यस्य उपयोगं आरभ्य प्रथमं नूतनं Scrapy project निर्मातव्यम् । एकं टर्मिनल् उद्घाट्य, यत्र भवान् परियोजनां निर्मातुम् इच्छति तत्र निर्देशिकायां गत्वा, निम्नलिखितम् आदेशं चालयन्तु ।
scrapy startproject myproject
एतेन नामकं सञ्चिका निर्मीयतेmyproject
एकं नूतनं परियोजनां च तस्मिन् किञ्चित् मूलभूतं सञ्चिकां निर्देशिकासंरचनां च जनयन्तु ।
तदनन्तरं वयं वेबसाइट् क्रॉल कर्तुं सरलं Spider इति लिखिष्यामः । प्रथमं परियोजनानिर्देशिकां प्रविशन्तु :
cd myproject
ततः, निम्नलिखित आदेशस्य उपयोगेन नूतनं Spider रचयन्तु ।
scrapy genspider example_spider example.com
इदं भविष्यतिmyproject/spiders
निर्देशिका नामकं सञ्चिकां जनयतिexample_spider.py
प्रलेख। सञ्चिकां उद्घाटयन्तु तर्हि भवन्तः सरलं स्पाइडर टेम्पलेट् द्रक्ष्यन्ति:
- import scrapy
-
- class ExampleSpider(scrapy.Spider):
- name = 'example_spider'
- allowed_domains = ['example.com']
- start_urls = ['http://example.com/']
-
- def parse(self, response):
- # 提取数据的代码在这里编写
- pass
अधुना वयं सम्पादयितुं शक्नुमःparse
जालपुटेभ्यः दत्तांशं निष्कासयितुं विधिः । यथा, वयं सर्वेषां शीर्षकटैग्स् इत्यस्य पाठं निष्कासयितुम् इच्छामः इति वदामः :
- import scrapy
-
- class ExampleSpider(scrapy.Spider):
- name = 'example_spider'
- allowed_domains = ['example.com']
- start_urls = ['http://example.com/']
-
- def parse(self, response):
- titles = response.css('title::text').getall()
- for title in titles:
- yield {'title': title}
अधुना एव निर्मितं चालयितुंमकड़ी, परियोजनानिर्देशिकायां निम्नलिखितम् आदेशं निष्पादयितुं शक्नुवन्ति ।
-
- scrapy crawl example_spider
एतेन स्पाइडरः प्रारभ्यते, जालपुटस्य क्रॉलं च आरभ्यते । क्रौल् कृतं दत्तांशं शब्दकोशरूपेण कन्सोल् इत्यत्र मुद्रितं भविष्यति ।
Scrapy इत्यस्य middleware system इत्यनेन अनुरोधस्य प्रेषणात् पूर्वं प्रतिक्रियाप्राप्तेः अनन्तरं च custom logic इत्येतत् निष्पादयितुं शक्यते । यथा, वयं पुनर्निर्देशनानि नियन्त्रयितुं, User-Agent सेट् कर्तुं वा Cookies इत्यादीनि नियन्त्रयितुं middleware इत्यस्य उपयोगं कर्तुं शक्नुमः ।मध्यवेयरं निर्मातुं केवलं तस्मात् उत्तराधिकारं प्राप्नुवन्तुscrapy.downloadermiddlewares.DownloaderMiddleware
वर्गं कृत्वा तत्सम्बद्धानि पद्धतीनि कार्यान्विताः भवन्ति।
स्क्रैपीमद पाइपलाइन स्पाइडर इत्यनेन निष्कासितस्य अनन्तरं दत्तांशं अधिकं संसाधितुं अस्मान् शक्नोति ।यथा - वयं उपयोक्तुं शक्नुमःपाइपलाइन दत्तांशं स्वच्छं कर्तुं, दत्तांशं सत्यापयितुं, दत्तांशकोषे दत्तांशं संग्रहीतुं वा अन्यसेवासु प्रेषयितुं वा इत्यादीनि।सृजितुं कपाइपलाइन, केवलं उत्तराधिकारःscrapy.exporters.BaseItemExporter
वर्गं कृत्वा तत्सम्बद्धानि पद्धतीनि कार्यान्विताः भवन्ति।
यदि भवान् बृहत्-प्रमाणेन अनामिक-क्रॉलिंग् कर्तुं इच्छति तर्हि Crawlera-प्रॉक्सी-पूलस्य उपयोगं विचारयतु । Crawlera एकं वितरितं प्रॉक्सी-जालं प्रदाति यत् भवतः वास्तविकं IP-सङ्केतं गोपनं कर्तुं तथा च वेबसाइट्-विरोधी-क्रॉलिंग्-तन्त्रं बाईपासं कर्तुं साहाय्यं कर्तुं शक्नोति ।Scrapy परियोजनायां Crawlera प्रॉक्सी पूलस्य उपयोगाय केवलं योजयन्तुsettings.py
सञ्चिकायां निम्नलिखितविन्यासं योजयन्तु ।
- DOWNLOADER_MIDDLEWARES = {
- 'scrapy_crawlera.CrawleraMiddleware': 610,
- }
- CRAWLERA_ENABLED = True
- CRAWLERA_APIKEY = 'your_api_key'
कृपया प्रतिस्थापनं सुनिश्चितं कुर्वन्तुyour_api_key
एपिआइ कुञ्जी भवतः कृते Crawlera जालपुटे पञ्जीकृतवती।
अस्मिन् लेखे Python web crawler framework Scrapy इत्यस्य मूलभूतसंकल्पनानां, उपयोगस्य, उन्नतप्रविधिनां च संक्षेपेण परिचयः कृतः अस्ति । Scrapy इति ज्ञात्वा भवान् अधिकतया जालक्रॉलर् विकसितुं शक्नोति तथा च विभिन्नजालस्थलेभ्यः आवश्यकं आँकडान् सुलभतया ग्रहीतुं शक्नोति । आशासे यत् एषः लेखः भवन्तं जाल-क्रॉलिंग्-क्षेत्रे अधिका सफलतां प्राप्तुं Scrapy-रूपरेखां अधिकतया अवगन्तुं प्रयोक्तुं च साहाय्यं कर्तुं शक्नोति ।