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 ځواب یا عادي منزل تېروتنه تل د بد پروکسي ثبوت نه دی. منځګړی سافټویر فعال وساتئ او هغه طبقه بندي بدله کړئ چې ناکامي یې رامنځته کړه، د دې پرځای چې د باینري ډاونلوډونو لپاره ټول بندیز پېژندنه بنده کړئ.

اړوندې مقالې