PDF वा तस्बिर प्रोक्सीबाट सफलतापूर्वक आउन सक्छ र त्यसपछि प्रतिबन्ध पहिचानमा असफल हुन सक्छ। Scrapy को आधार Response ले body बाइटहरू देखाउँछ, तर यसको text गुणले “Response content isn't text.” त्रुटि उठाउँछ।

यदि स्थापित scrapy-proxy-pool नीतिले बिनासर्त response.text खोज्छ भने, त्यो नीतिलाई प्रकार-सचेत संस्करणले बदल्नुहोस्:

from scrapy.http import TextResponse
from scrapy_proxy_pool.policy import BanDetectionPolicy

class BinaryAwarePolicy(BanDetectionPolicy):
    def response_is_ban(self, request, response):
        if isinstance(response, TextResponse):
            if self.BANNED_PATTERN.search(response.text):
                return True
        if response.status not in self.NOT_BAN_STATUSES:
            return True
        return response.status == 200 and not response.body

प्याकेजको एक्सटेन्सन सेटिङमार्फत यसलाई छान्नुहोस्:

PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"

यसले नीतिको स्थिति र खाली-बडी नियमहरू कायम राख्छ र पाठ खोजलाई यसलाई समर्थन गर्ने प्रतिक्रियाहरूमा मात्र सीमित गर्छ। वंशानुगत अपवाद नीति पनि उपलब्ध रहन्छ।

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

सम्बन्धित लेखहरू