Një skedar proxy pranë një kopje zhvillimi nuk është automatikisht i pranishëm në paketën e vendosur të crawler-it. Ka dy punë: të përfshihen bajtët në shpërndarje, pastaj t'i gjesh në paketën e instaluar.

Për një projekt Setuptools me crawl_app/resources/proxies.txt brenda paketës së tij Python, një zë në pyproject.toml mund ta përfshijë atë:

[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]

Kombinoni këtë me konfigurimin ekzistues të paketës të projektit. Një backend tjetër ndërtimi ka ndërfaqen e vet të përfshirjes së të dhënave.

Për middleware që mund të konsumojë vargje endpoint, Python 3.11+ mund të lexojë burimin e paketës drejtpërdrejt:

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

Përdorni emrin aktual të paketës dhe vlerësoni formatin e pritur të URL-së në lexues. Për të dhëna publike endpoint të shpërndarshme, përdorni adresa nga lista e proxy falas në protokollin dhe formatin e URL-së që pret middleware. Kërkimi nuk varet nga drejtoria aktuale e punës e vendosjes.

Një cilësim PROXY_LIST i palës së tretë mund të kërkojë një shteg të sistemit të skedarëve në vend të këtyre vargjeve. Kur përdorni importlib.resources.as_file për atë ndërfaqe, mbajeni kontekstin e tij të hapur për sa kohë middleware ka nevojë për skedarin e nxjerrë. Kthimi i një shtegu të përkohshëm pas mbylljes së kontekstit mund të humbasë burimin.

Mbani listat e prodhimit me kredenciale në ruajtësen e sekreteve ose konfigurimit të destinuar për vendosjen. Të dhënat e paketës janë të përshtatshme për të dhëna endpoint të shpërndarshme, jo për supozimin se gjithçka e paketuar me kod mbetet private.

Artikuj të ngjashëm