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 ئىنكاس ياكى ئادەتتىكى مەنزىل خاتالىقى ھەمىشە ناچار ۋاكالەتچىنىڭ ئىسپاتى ئەمەس. ئوتتۇرا يۇمشاق دېتالنى ئاكتىپ قويۇپ، مەغلۇبىيەتكە سەۋەب بولغان تۈرگە بۆلۈشنى ئۆزگەرتىڭ، بىنارلىق چۈشۈرۈشلەر ئۈچۈن پۈتۈن چەكلەش بايقاشنى تاقىشىنىڭ ئورنىغا.

مۇناسىۋەتلىك ماقالىلەر