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