PDF ឬរូបភាពអាចមកដល់ដោយជោគជ័យតាមរយៈប្រូកស៊ី បន្ទាប់មកបរាជ័យនៅក្នុងការរកឃើញការហាមឃាត់។ Response មូលដ្ឋានរបស់ Scrapy បង្ហាញបៃតួ ប៉ុន្តែលក្ខណៈ 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 ដែលទទេដោយចេតនា ឬកំហុសគោលដៅធម្មតា មិនមែនជាភស្តុតាងថាប្រូកស៊ីអាក្រក់ជានិច្ចទេ។ ទុក middleware ឱ្យដំណើរការ ហើយផ្លាស់ប្តូរចំណាត់ថ្នាក់ដែលបណ្តាលឱ្យបរាជ័យ ជំនួសឱ្យបិទការរកឃើញការហាមឃាត់ទាំងអស់សម្រាប់ការទាញយកបែបប្រព័ន្ធគោលពីរ។

អត្ថបទពាក់ព័ន្ធ