Ein PDF ella ein mynd kann koma væl gjøgnum ein proxy og so miseydnast í bannskynjanini. Grund-Response í Scrapy vísir likamsbyti, men text-eindin hjá tí reisir villuna “Response content isn't text.”

Um uppsetta scrapy-proxy-pool-reglan leitar í response.text uttan treytir, skifta tá regluni út við eini slættviðkvomari útgávu:

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

Vel ta gjøgnum víðkanarstillingina í pakkanum:

PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"

Hetta varðveitir status- og tómalikama-reglur reglunnar og avmarkar tekstleitingina til svar, ið stuðla henni. Hin arvaða undantaksreglan er framvegis tøk.

Viðger eisini tær restandi reglurnar fyri støddina: eitt viljandi tómt 200-svar ella ein vanlig málfeilur er ikki altíð prógv um ein vágan proxy. Halt millumlagið virkið og broyt bólkingina, ið førdi til miseydnaðu, í staðin fyri at sløkkja alla bannskynjan fyri binærar niðurtøkur.

Skyldar greinar