scrapy-proxy-pool: freagairtí dénártha a láimhseáil i mbrath toirmeasc
Cuir teorainn le seiceáil phatrúin téacs scrapy-proxy-pool le TextResponse agus coinnigh cinntí stádais agus comhlachta folaimh.
Is féidir le PDF nó íomhá teacht go rathúil trí sheachfhreastalaí agus ansin teip i mbrath toirmeasc. Nochtann Response bunúsach Scrapy bearta an chomhlachta, ach ardaíonn a mhaoin text an earráid “Response content isn't text.”
Má chuardaíonn polasaí suiteáilte scrapy-proxy-pool response.text gan choinníoll, cuir polasaí atá feasach ar chineál ina ionad:
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
Roghnaigh é trí shocrú síneadh an phacáiste:
PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"
Coinníonn sé seo rialacha stádais agus comhlachta folaimh an pholasaí agus teorannaíonn sé an cuardach téacs d'fhreagairtí a thacaíonn leis. Tá an polasaí eisceachta oidhreachta fós ar fáil.
Déan athbhreithniú freisin ar na rialacha atá fágtha don fheidhmchlár: ní chruthaíonn freagra 200 atá folamh d'aon ghnó ná gnáth-earráid chinn scríbe go bhfuil seachfhreastalaí dona i gcónaí. Coinnigh an middleware gníomhach agus athraigh an t-aicmiú ba chúis leis an teip, seach gach brath toirmeasc a mhúchadh le haghaidh íoslódálacha dénártha.