Að hafa proxylista inni og hlaða honum í uppsettu Scrapy-verkefni
Hafðu Scrapy-proxylistaauðlind inni í dreifingunni og hlattu henni eftir staðsetningu pakkans í stað uppsettu vinnumöppunnar.
Proxy-skrá við hlið þróunarklóns er ekki sjálfkrafa til staðar í uppsettu pakki skriðdýrsins. Tvö verk eru: að hafa bætin inni í dreifingunni og finna þau svo í uppsetta pakkanum.
Fyrir Setuptools-verkefni með crawl_app/resources/proxies.txt inni í Python-pakkanum sínum getur pyproject.toml-færsla haft hana inni:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Sameinaðu það við núverandi pakkastillingu verkefnisins. Annar byggingarbakendi hefur sína eigin gagnainnsetningarskilflötu.
Fyrir middleware sem getur notað endpoint-strengi getur Python 3.11+ lesið pakkaauðlindina beint:
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()]
Notaðu raunverulegt pakkanafn og staðfestu vænt URL-snið í lesaranum. Fyrir dreifanleg opin endpoint-gögn skaltu nota vistföng úr ókeypis proxylista í þeirri siðvenju og því URL-sniði sem middleware býst við. Uppflettingin fer ekki eftir núverandi vinnumöppu uppsetningarinnar.
PROXY_LIST-stilling frá þriðja aðila gæti krafist slóðar í skráarkerfinu í stað þessara strengja. Þegar þú notar importlib.resources.as_file fyrir þá skilflötu skaltu halda samhengi hennar opnu svo lengi sem middleware þarf á útdregnu skránni að halda. Að skila tímabundinni slóð eftir að samhenginu er lokað getur týnt auðlindinni.
Geymdu framleiðslulista með skírteinum í tilætluðu leyni- eða stillingargeymslu uppsetningarinnar. Pakkagögn henta fyrir dreifanleg endpoint-gögn, ekki þá forsendu að allt sem pakkað er með kóða haldist einkarekið.