អានចំណុចបញ្ចប់ប្រូកស៊ី និង IP តភ្ជាប់របស់ Scrapy
ប្រើមេតាដាតានៃសំណើសម្រាប់ប្រូកស៊ីដែលបានជ្រើស ចាត់ទុក response.ip_address ជាព័ត៌មានដៃគូដែលអ្នកគ្រប់គ្រងផ្តល់ ហើយផ្ទៀងផ្ទាត់ IP ចេញនៅគោលដៅ។
នៅពេលពិនិត្យផ្លូវដែលបានជ្រើស សូមប្រើ Request ដែលភ្ជាប់នឹងការឆ្លើយតបដែលបានបញ្ចប់។ រក្សាការសង្កេតបីឱ្យដាច់ពីគ្នា៖
| វាល | អត្ថន័យ |
|---|---|
response.request.meta.get('proxy') | URL ប្រូកស៊ីដែលបានជ្រើសសម្រាប់សំណើនេះ នៅពេលមាន |
response.ip_address | អាសយដ្ឋានដែលអ្នកគ្រប់គ្រងទាញយកផ្តល់ អាចជា None |
| របាយការណ៍ប្រភពពីគោលដៅដែលអាចទុកចិត្ត | ប្រភពសាធារណៈដែលបានសង្កេតនៅទីនោះ |
នៅក្នុង callback សូមបដិសេធផ្នែក URL ដែលមានព័ត៌មានសម្ងាត់ចេញពីការវិភាគធម្មតា៖
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)ក្នុងអ្នកគ្រប់គ្រង HTTP/1.1 របស់ Scrapy 2.13.3 អាសយដ្ឋានមកពីដៃគូតភ្ជាប់នៃការឆ្លើយតប មិនមែនពីសេវា IP ចេញទេ។ ផ្លូវខ្លះ រួមទាំងការឆ្លើយតបប្រវែងសូន្យ អាចទុកវាជា None។ អ្នកគ្រប់គ្រងផ្សេងអាចបំពេញវាខុសគ្នា។ None ដោយខ្លួនឯងមិនបញ្ជាក់ការនាំផ្លូវផ្ទាល់ទេ។
សម្រាប់ការត្រួតពិនិត្យចេញ សួរចំណុចបញ្ចប់ដែលអាចទុកចិត្តក្រោមគោលនយោបាយប្រូកស៊ីដែលបានកំណត់ ហើយរក្សាអត្តសញ្ញាណសំណើជាមួយការសង្កេត។ Middleware បង្វិលអាចផ្តល់ចំណុចបញ្ចប់ផ្សេងសម្រាប់ការត្រួតពិនិត្យក្រោយ។
ការប្តូរទិសដៅក៏បង្កើតសំណើមួយទៀតដែរ។ មេតាដាតាចុងក្រោយពិពណ៌នាដំណាក់កាលនោះ; ពិនិត្យប្រវត្តិប្តូរទិសដៅ និងការជ្រើសឡើងវិញណាមួយដោយ middleware ជំនួសឱ្យការចាត់ទុកវាជាភស្តុតាងនៃផ្លូវ URL ដំបូង។