Sluit 'n proxylys in en laai dit in 'n ontplooide Scrapy-projek
Sluit 'n Scrapy-proxylysbron by die verspreiding in en laai dit volgens pakketligging eerder as die ontplooide werkmap.
'n Proxy-lêer langs 'n ontwikkelingskloon is nie outomaties in die kruiper se ontplooide pakket teenwoordig nie. Daar is twee take: sluit die grepe in die verspreiding in en vind dit dan in die geïnstalleerde pakket.
Vir 'n Setuptools-projek met crawl_app/resources/proxies.txt binne sy Python-pakket, kan 'n pyproject.toml-inskrywing dit insluit:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Voeg dit saam met die projek se bestaande pakketkonfigurasie. 'n Ander bou-agterkant het sy eie data-insluitingskoppelvlak.
Vir middleware wat eindpuntstringe kan verbruik, kan Python 3.11+ die pakketbron direkt lees:
from importlib.resources import files
text = files('crawl_app').joinpath('resources', 'proxies.txt').read_text(
encoding='utf-8'
)
proxy_urls = [line.strip() for line in text.splitlines() if line.strip()]
Gebruik die werklike pakketnaam en valideer die verwagte URL-formaat in die leser. Vir verspreibare openbare eindpuntdata, gebruik adresse uit die gratis proxylys in die middleware se verwagte protokol- en URL-formaat. Die opsoek hang nie van die ontplooiing se huidige werkmap af nie.
'n Derdeparty-PROXY_LIST-instelling kan 'n lêerstelselpad eerder as hierdie stringe vereis. Wanneer importlib.resources.as_file vir daardie koppelvlak gebruik word, hou sy konteks oop solank die middleware die onttrekte lêer nodig het. Om 'n tydelike pad terug te gee nadat die konteks gesluit is, kan die bron verloor.
Hou produksielyste met geloofsbriewe in die ontplooiing se beoogde geheime- of konfigurasiebergplek. Pakketdata is geskik vir verspreibare eindpuntdata, nie die aanname dat alles wat saam met kode gebundel word privaat bly nie.