PDF edo irudi bat proxya zeharkatuz behar bezala irits daiteke eta gero blokeo-detekzioan huts egin. Scrapy-ren oinarrizko Response-k gorputzaren byteak erakusten ditu, baina bere text propietateak “Response content isn't text.” errorea jaurtitzen du.

Instalatutako scrapy-proxy-pool politikak response.text baldintzarik gabe bilatzen badu, ordezkatu politika hori mota kontuan hartzen duen bertsio batekin:

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

Hautatu paketearen luzapen-ezarpenaren bidez:

PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"

Horrek politikaren egoera eta gorputz hutsaren arauak mantentzen ditu, eta testu-bilaketa onartzen duten erantzunetara mugatzen du. Oinordetzan jasotako salbuespen-politika ere eskuragarri jarraitzen du.

Berrikusi gainerako arau horiek aplikaziorako ere: nahita hutsik dagoen 200 erantzun bat edo helmuga-errore arrunta ez dira beti proxy txarraren froga. Mantendu middlewarea aktibo eta aldatu hutsegitea eragin zuen sailkapena, deskarga bitarretarako blokeo-detekzio osoa desgaitzea baino.

Erlazionatutako artikuluak