scrapy-proxy-pool: چەكلەش بايقاشتا بىنارلىق ئىنكاسلارنى بىر تەرەپ قىلىش
scrapy-proxy-pool نىڭ تېكىست ئەندىزە تەكشۈرۈشىنى TextResponse بىلەن چەكلەپ، ھالەت ۋە قۇرۇق گەۋدە قارارلىرىنى ساقلاڭ.
PDF ياكى سۈرەت ۋاكالەتچى ئارقىلىق مۇۋەپپەقىيەتلىك كېلىپ، ئاندىن چەكلەش بايقاشتا مەغلۇپ بولۇشى مۇمكىن. Scrapy نىڭ ئاساسىي Response ى گەۋدە بايتلىرىنى كۆرسىتىدۇ، ئەمما text خاسلىقى “Response content isn't text.” خاتالىقىنى كۆتۈرىدۇ.
ئەگەر قاچىلانغان scrapy-proxy-pool سىياسىتى شەرتسىز response.text نى ئىزدىسە، ئۇ سىياسەتنى تۈرنى چۈشىنىدىغان نەشرى بىلەن ئالماشتۇرۇڭ:
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
ئۇنى بوغچىنىڭ كېڭەيتىش تەڭشىكى ئارقىلىق تاللاڭ:
PROXY_POOL_BAN_POLICY = "myproject.policy.BinaryAwarePolicy"
بۇ سىياسەتنىڭ ھالەت ۋە قۇرۇق گەۋدە قائىدىلىرىنى ساقلاپ، تېكىست ئىزدەشنى ئۇنى قوللايدىغان ئىنكاسلار بىلەن چەكلەيدۇ. مىراس قالغان ئالاھىدە سىياسەت يەنىلا ئىشلىتىلىدۇ.
قالغان قائىدىلەرنى پروگرامما ئۈچۈن تەكشۈرۈپ بېقىڭ: قەستەن قۇرۇق 200 ئىنكاس ياكى ئادەتتىكى مەنزىل خاتالىقى ھەمىشە ناچار ۋاكالەتچىنىڭ ئىسپاتى ئەمەس. ئوتتۇرا يۇمشاق دېتالنى ئاكتىپ قويۇپ، مەغلۇبىيەتكە سەۋەب بولغان تۈرگە بۆلۈشنى ئۆزگەرتىڭ، بىنارلىق چۈشۈرۈشلەر ئۈچۈن پۈتۈن چەكلەش بايقاشنى تاقىشىنىڭ ئورنىغا.