Laba-laba dapat memakai proxy yang diharapkan di bawah scrapy crawl dan langsung berjalan saat diluncurkan oleh skrip Python. Periksa bagaimana skrip itu menyusun pengaturannya sebelum mengubah server proxy.

Untuk proyek Scrapy yang sudah ada dan laba-labanya yang terdaftar:

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()

Ganti catalog dengan nama laba-laba proyek. Proyek harus dapat ditemukan melalui scrapy.cfg-nya, atau melalui SCRAPY_SETTINGS_MODULE yang disetel dengan benar dan menunjuk ke modul pengaturan yang dapat diimpor.

Membuat CrawlerProcess() saja tidak mengimpor berkas pengaturan proyek hanya karena skrip juga mengimpor kelas laba-laba. Akibatnya middleware khusus yang diaktifkan oleh DOWNLOADER_MIDDLEWARES bisa tidak ada dalam proses tersebut.

Memuat pengaturan menyediakan komponen yang dikonfigurasi; itu tidak mengarang alamat proxy. Middleware proxy HTTP Scrapy tetap memerlukan proxy lingkungan biasanya atau nilai request.meta['proxy'] yang eksplisit. Periksa bahwa HTTPPROXY_ENABLED tidak menonaktifkannya. Untuk perayapan halaman publik yang diizinkan, daftar proxy HTTP menyediakan kandidat untuk nilai proxy HTTP yang diberikan melalui metadata atau lingkungan tersebut.

Bandingkan pengaturan termuat dan middleware aktif peluncur dengan proses dari baris perintah. Jika cocok, lanjutkan dengan metadata proxy permintaan yang dipilih dan galat transportasi yang sebenarnya.

Artikel terkait