Laba-laba boleh menggunakan proksi yang dijangka di bawah scrapy crawl dan terus pergi apabila dilancarkan oleh skrip Python. Semak cara skrip itu membina tetapannya sebelum menukar pelayan proksi.

Untuk projek Scrapy sedia ada dan labah-labahnya yang didaftarkan:

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

Gantikan catalog dengan nama labah-labah projek. Projek mesti boleh ditemui melalui scrapy.cfg-nya, atau melalui SCRAPY_SETTINGS_MODULE yang ditetapkan dengan betul dan menunjuk kepada modul tetapan yang boleh diimport.

Membina CrawlerProcess() sahaja tidak mengimport fail tetapan projek semata-mata kerana skrip juga mengimport kelas labah-labah. Akibatnya middleware tersuai yang didayakan oleh DOWNLOADER_MIDDLEWARES mungkin tiada dalam larian itu.

Memuatkan tetapan membekalkan komponen yang dikonfigurasikan; ia tidak mencipta alamat proksi. Middleware proksi HTTP Scrapy masih memerlukan proksi persekitaran biasa atau nilai request.meta['proxy'] yang eksplisit. Semak bahawa HTTPPROXY_ENABLED tidak melumpuhkannya. Untuk crawler halaman awam yang dibenarkan, senarai proksi HTTP menawarkan calon untuk nilai proksi HTTP yang dibekalkan melalui metadata atau persekitaran itu.

Bandingkan tetapan yang dimuatkan dan middleware aktif pelancar dengan larian baris arahan. Jika ia sepadan, teruskan dengan metadata proksi permintaan yang dipilih dan ralat pengangkutan sebenar.

Artikel berkaitan