Laai Scrapy-volmaginstellings in 'n CrawlerProcess-skrip
Gee get_project_settings() aan CrawlerProcess wanneer 'n selfstandige lanseerder dieselfde aflaai-middleware as scrapy crawl moet gebruik.
'n Spin kan die verwagte volmag onder scrapy crawl gebruik en reguit gaan wanneer dit deur 'n Python-skrip gelanseer word. Kyk hoe daardie skrip sy instellings bou voordat jy die volmagbediener verander.
Vir 'n bestaande Scrapy-projek en sy geregistreerde spin:
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()
Vervang catalog met die projek se spinnaam. Die projek moet deur sy scrapy.cfg vindbaar wees, of deur 'n korrek ingestelde SCRAPY_SETTINGS_MODULE wat na 'n invoerbare instellingsmodule wys.
Om CrawlerProcess() alleen te bou, voer nie die projek se instellingslêer in bloot omdat die skrip ook 'n spinklas invoer nie. 'n Pasgemaakte middleware wat deur DOWNLOADER_MIDDLEWARES geaktiveer is, kan gevolglik in daardie lopie ontbreek.
Die laai van die instellings verskaf die gekonfigureerde komponente; dit versin nie 'n volmagadres nie. Scrapy se HTTP-volmagmiddleware benodig steeds sy normale omgewingsvolmag of 'n eksplisiete request.meta['proxy']-waarde. Kyk dat HTTPPROXY_ENABLED dit nie gedeaktiveer het nie. Vir 'n toegelate kruip van openbare bladsye bied die HTTP-volmaglys kandidate vir 'n HTTP-volmagwaarde wat deur daardie metadata of omgewing verskaf word.
Vergelyk die lanseerder se gelaaide instellings en aktiewe middleware met die opdragreël-lopie. As hulle ooreenstem, gaan voort met die gekose versoek se volmagmetadata en die werklike vervoerfout.