scrapy-proxy-pool: freagairtean bìnearach a làimhseachadh ann an lorg casg
Cuir crìoch air sgrùdadh pàtran teacsa scrapy-proxy-pool gu TextResponse fhad 's a chumas tu co-dhùnaidhean inbhe is corp falamh.
Faodaidh PDF no ìomhaigh tighinn gu soirbheachail tro neach-ionaid agus an uair sin fàiligeadh ann an lorg casg. Nochdaidh Response bunaiteach Scrapy na baoitean corp, ach tha an earrann text aige a' togail na mearachd “Response content isn't text.”
Ma tha poileasaidh stàlaichte scrapy-proxy-pool a' lorg response.text gun chumha, cuir poileasaidh a tha mothachail air seòrsa na àite:
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
Tagh e tro shuidheachadh leudachaidh a' phacaid:
PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"
Cumaidh seo riaghailtean inbhe is corp falamh a' phoileasaidh agus cuiridh e crìoch air an rannsachadh teacsa air freagairtean a tha ga chumail suas. Tha am poileasaidh eisgeachd a fhuaireadh fhathast ri fhaighinn.
Thoir sùil cuideachd air na riaghailtean a tha air fhàgail airson na h-aplacaid: chan eil freagairt 200 a tha falamh a dh'aona ghnothaich no mearachd ceann-uidhe àbhaisteach na dearbhadh an-còmhnaidh air droch neach-ionaid. Cùm am middleware gnìomhach agus atharraich an seòrsachadh a dh'adhbhraich am fàilligeadh, an àite a bhith a' cur dheth gach lorg casg airson luchdadh sìos bìnearach.