Scrapy प्रोक्सी सेटिङहरू CrawlerProcess स्क्रिप्टमा लोड गर्नुहोस्
स्वतन्त्र लन्चरले scrapy crawl जस्तै डाउनलोडर मिडलवेयर प्रयोग गर्नुपर्दा get_project_settings() लाई CrawlerProcess मा दिनुहोस्।
स्पाइडरले scrapy crawl अन्तर्गत अपेक्षित प्रोक्सी प्रयोग गर्न सक्छ र Python स्क्रिप्टले सुरु गर्दा सिधै जान्छ। प्रोक्सी सर्भर बदल्नु अघि त्यो स्क्रिप्टले आफ्ना सेटिङहरू कसरी बनाउँछ भनी जाँच्नुहोस्।
अवस्थित Scrapy परियोजना र त्यसको दर्ता भएको स्पाइडरका लागि:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()
catalog लाई परियोजनाको स्पाइडर नामले बदल्नुहोस्। परियोजना यसको scrapy.cfg मार्फत, वा आयातयोग्य सेटिङ मोड्युलमा सङ्केत गर्ने सही रूपमा सेट गरिएको SCRAPY_SETTINGS_MODULE मार्फत पत्ता लगाउन सकिने हुनुपर्छ।
केवल CrawlerProcess() बनाउँदा परियोजनाको सेटिङ फाइल आयात हुँदैन, स्क्रिप्टले स्पाइडर क्लास पनि आयात गर्छ भन्ने मात्र कारणले होइन। त्यसैले DOWNLOADER_MIDDLEWARES ले सक्षम गरेको अनुकूलन मिडलवेयर त्यो रनमा अनुपस्थित हुन सक्छ।
सेटिङहरू लोड गर्दा कन्फिगर गरिएका कम्पोनेन्टहरू प्रदान हुन्छन्; यसले प्रोक्सी ठेगाना बनाउँदैन। Scrapy को HTTP प्रोक्सी मिडलवेयरलाई अझै पनि यसको सामान्य वातावरण प्रोक्सी वा स्पष्ट request.meta['proxy'] मान चाहिन्छ। HTTPPROXY_ENABLED ले यसलाई अक्षम गरेको छैन भनी जाँच्नुहोस्। अनुमत सार्वजनिक पृष्ठ क्रलका लागि HTTP प्रोक्सी सूची ले त्यो मेटाडाटा वा वातावरणमार्फत दिइने HTTP प्रोक्सी मानका लागि उम्मेदवारहरू प्रदान गर्छ।
लन्चरका लोड गरिएका सेटिङ र सक्रिय मिडलवेयरको कमाण्ड-लाइन रनसँग तुलना गर्नुहोस्। यदि तिनीहरू मिल्छन् भने, चयन गरिएको अनुरोधको प्रोक्सी मेटाडाटा र वास्तविक यातायात त्रुटिसँग अगाडि बढ्नुहोस्।