Jar cookie Scrapy milik satu sesi, bukan otomatis milik proxy
Pilih identitas jar cookie yang eksplisit saat beberapa alur kerja berproxy berbagi satu spider, dan bawa identitas itu ke permintaan berikutnya.
Mengganti proxy tidak otomatis mengganti cookie spider. Itu bisa berguna untuk satu sesi yang berlanjut dan mengejutkan ketika beberapa sesi independen berbagi spider yang sama.
Middleware cookie Scrapy mendukung jar terpisah yang dipilih oleh metadata cookiejar permintaan. Berikan kunci itu identitas yang benar-benar ingin Anda pertahankan:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
Endpoint dan kunci jar adalah pilihan yang independen. Perayapan publik tanpa autentikasi dapat mengambil endpoint HTTP pilihannya dari daftar proxy HTTP di tempat rute itu diizinkan; alur kerja tetap memiliki kunci jar. Permintaan lanjutan yang harus tetap berada di sesi ini memerlukan kunci jar yang sama; metadata tidak otomatis melekat pada setiap permintaan baru yang Anda buat. Teruskan bidang tertentu yang dibutuhkan alur kerja alih-alih menyalin semua metadata middleware secara buta.
Memakai alamat proxy sebagai kunci jar hanyalah salah satu kebijakan
Jalan pintas itu mengelompokkan keadaan menurut endpoint. Itu tidak selalu mengelompokkannya menurut orang, akun, atau exit publik. Satu endpoint penyedia dapat merotasi exit, dan beberapa akun dapat memakai endpoint yang sama.
Untuk alur kerja resmi yang membutuhkan keadaan stabil, catat pengenal akun/sesi, pengenal jar, dan rute yang dipilih secara terpisah. Jika Anda memutuskan mengganti rute di tengah jalan, putuskan juga apa yang harus terjadi pada sesi aplikasi.
Jar terpisah mencegah berbagi cookie secara tidak sengaja di antara grup yang Anda tetapkan. Namun itu tidak menjanjikan bahwa suatu tujuan tidak dapat menghubungkan dua permintaan melalui akun atau data aplikasi lain.
Jika halaman yang salah tetap muncul setelah mengganti IP, periksa jar mana yang mengirim permintaan sebelum menghapus semua cookie atau mengganti seluruh kumpulan proxy. Keadaan yang tersimpan bisa menjelaskan halaman itu dengan sangat baik.