Scrapy प्रोक्सी मिडलवेयर: Request र None का रिटर्न मानहरू
Scrapy प्रोक्सी तोकेपछि नियन्त्रण फर्काउनुहोस्, डाउनलोड गर्नुअघि उही अनुरोध अनजानमा पुनः तालिकाबद्ध गर्नुको सट्टा।
लगमा प्रोक्सी ठेगाना बदलिन्छ। गन्तव्य प्रोक्सीको पहुँच लगमा कहिल्यै देखिँदैन। तपाईंको मिडलवेयरले अनुरोधलाई डाउनलोडरसम्म पुग्न दिन्छ कि दिँदैन जाँच गर्नुहोस्।
Scrapy को डाउनलोडर मिडलवेयरमा Request फर्काउनु भनेको त्यो अनुरोध पुनः तालिकाबद्ध गर्नु हो। यसको अर्थ “भर्खरै परिवर्तन गरेको मेटाडाटासहित यो वस्तु पठाउन जारी राख” भन्ने होइन।
केवल मार्ग छान्ने सेलेक्टरका लागि महत्त्वपूर्ण स्वरूप यो हो:
def process_request(self, request):
request.meta['proxy'] = self.choose_proxy()
return None
यो अंशले हालको हुक स्वरूप देखाउँछ; स्थापना गरिएको Scrapy संस्करणले समर्थन गर्ने मिडलवेयर इन्टरफेस प्रयोग गर्नुहोस्। सेलेक्टरले मान्य अन्त्य बिन्दु फर्काउनुपर्छ र उपलब्ध नभएको पूललाई स्पष्ट रूपमा व्यवस्थापन गर्नुपर्छ। सार्वजनिक मध्यस्थकर्तालाई अनुमति दिने सार्वजनिक क्रलले त्यो रिटर्न मानका लागि HTTP प्रोक्सी सूचीबाट HTTP उम्मेदवारहरू लिन सक्छ।
None फर्काउँदा बाँकी अनुरोध मिडलवेयर र डाउनलोडर अगाडि बढ्न सक्छन्। अर्को Request फर्काउनु उपयोगी हुन्छ जब तपाईं जानाजान काम प्रतिस्थापन वा पुनः प्रयास गर्नुहुन्छ, तर यसलाई कारण र निकास सर्त चाहिन्छ।
हरेक पटक उही अनुरोध फर्काउने रोटेटरले कहिल्यै गन्तव्यसँग जडान नगरी आफ्नै चयन कोड बारम्बार चलाउन सक्छ। टाइमआउट बढाउनु वा थप प्रोक्सी पोर्ट खोल्नुले त्यो नियन्त्रण-प्रवाह लूप सुधार्न सक्दैन।
मिडलवेयर प्रवेश, रिटर्न व्यवहार र पहिलो वास्तविक नेटवर्क प्रयासलाई छुट्टाछुट्टै घटनाका रूपमा जाँच्नुहोस्। “प्रोक्सी छानियो” भन्ने लग लाइनले सेलेक्टर चलेको मात्र प्रमाणित गर्छ। छानिएको अन्त्य बिन्दुसहित अनुरोध पठाइएको प्रमाणित गर्दैन।