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 ምላሽ ወይም የተለመደ የመድረሻ ስህተት ሁልጊዜ መጥፎ ፕሮክሲ ማለት አይደለም። መካከለኛውን አቅራቢ ንቁ ያድርጉ እና ስህተቱን ያመጣውን ምድብ ይቀይሩ፣ ለሁለትዮሽ ማውረዶች ሁሉንም የእገዳ መለያ ከማጥፋት ይልቅ።

ተዛማጅ ጽሑፎች