Inkludi u tgħabbi lista ta' prokuri fi proġett Scrapy implimentat
Inkludi riżorsa tal-lista tal-prokuri Scrapy fid-distribuzzjoni u tgħabbiha skont il-post tal-pakkett minflok id-direttorju tax-xogħol implimentat.
Fajl tal-prokuri ħdejn kopja tal-iżvilupp mhuwiex awtomatikament preżenti fil-pakkett implimentat tal-crawler. Hemm żewġ xogħlijiet: tinkludi l-bytes fid-distribuzzjoni, imbagħad issibhom fil-pakkett installat.
Għal proġett Setuptools b'crawl_app/resources/proxies.txt ġewwa l-pakkett Python tiegħu, daħla f'pyproject.toml tista' tinkludiha:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Għaqqad dan mal-konfigurazzjoni tal-pakkett eżistenti tal-proġett. Backend tal-bini differenti għandu l-interface tiegħu għall-inkludjoni tad-data.
Għal middleware li jista' jikkonsma strings tal-endpoint, Python 3.11+ jista' jaqra r-riżorsa tal-pakkett direttament:
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()]
Uża l-isem attwali tal-pakkett u vvalida l-format tal-URL mistenni fil-qarrej. Għal data tal-endpoint pubblika distribuibbli, uża indirizzi mill-lista tal-prokuri b'xejn fil-protokoll u l-format tal-URL mistennija mill-middleware. It-tfittxija ma tiddependix mid-direttorju tax-xogħol attwali tal-implimentazzjoni.
Setting PROXY_LIST ta' parti terza jista' jeħtieġ mogħdija tas-sistema tal-fajls minflok dawn il-strings. Meta tuża importlib.resources.as_file għal dak l-interface, żomm il-kuntest tiegħu miftuħ sakemm il-middleware jkollu bżonn il-fajl estratt. Li tirritorna mogħdija temporanja wara li jingħalaq il-kuntest tista' titlef ir-riżorsa.
Żomm listi tal-produzzjoni li jġorru kredenzjali fil-ħażna sigrieta jew tal-konfigurazzjoni maħsuba għall-implimentazzjoni. Id-data tal-pakkett hija adatta għal data tal-endpoint distribuibbli, mhux preżunzjoni li kollox ippakkjat mal-kodiċi jibqa' privat.