Eng PDF oder en Bild kann iwwer e Proxy erfollegräich ukucken an duerno an der Spär-Erkennung feel schloen. Dem Scrapy seng Basis-Response weist d'Body-Bytes, awer seng text-Eegeschaft werft de Feeler „Response content isn't text.“

Wann déi installéiert scrapy-proxy-pool-Richtlinn response.text ouni Bedingung duerchsicht, ersetzt dës Richtlinn duerch eng typesbewosst Versioun:

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

Wielt se iwwer d'Erweiderungsastellung vum Pak:

PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"

Dëst behält d'Status- an eidel-Body-Regele vun der Richtlinn bäi an beschränkt d'Textsich op Äntwerten, déi se ënnerstëtzen. Déi geierft Ausnamerichtlinn bleift verfügbar.

Kuckt déi reschtlech Regele fir d'Applikatioun och un: eng bewosst eidel 200-Äntwert oder en normale Bestemmungsfeeler ass net ëmmer de Beweis fir e schlechten Proxy. Loosst d'Middleware aktiv a ännert d'Klassifizéierung, déi de Feeler verursaacht huet, amplaz all Spär-Erkennung fir binär Downloads auszeschalten.

Ähnlech Artikelen