Tanlangan marshrutni ko'zdan kechirishda tugallangan javobga bog'langan Request dan foydalaning. Uchta kuzatuvni alohida saqlang:

MaydonMa'nosi
response.request.meta.get('proxy')Ushbu so'rovning tanlangan proksi URL manzili, mavjud bo'lsa
response.ip_addressYuklab olish ishlov beruvchisi bergan manzil, None bo'lishi mumkin
Ishonchli manzildan manba hisobotiU yerda kuzatilgan ommaviy manba

Callback ichida hisob ma'lumotlarini olib yuruvchi URL qismlarini odatdagi diagnostikadan chiqarib tashlang:

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,
)

Scrapy 2.13.3 ning HTTP/1.1 ishlov beruvchisida manzil javob ulanishining peeridan keladi, chiqish IP xizmatidan emas. Ba'zi yo'llar, jumladan nol uzunlikdagi javoblar, uni None qoldirishi mumkin. Boshqa ishlov beruvchilar uni boshqacha to'ldirishi mumkin. None o'zi to'g'ridan-to'g'ri marshrutlashni isbotlamaydi.

Chiqishni tekshirish uchun ko'zda tutilgan proksi siyosati doirasida ishonchli oxirgi nuqtadan so'rang va so'rov identifikatorini kuzatuv bilan birga saqlang. Aylanuvchi middleware keyingi tekshiruvga boshqa oxirgi nuqta berishi mumkin.

Qayta yo'naltirishlar ham yana bir so'rov yaratadi. Yakuniy metama'lumotlar o'sha bosqichni tavsiflaydi; birinchi URL marshrutining isboti deb hisoblash o'rniga qayta yo'naltirish tarixini va middleware tomonidan har qanday qayta tanlashni ko'rib chiqing.

O'xshash maqolalar