En proxyfil ved siden av en utviklingsklone er ikke automatisk til stede i crawlerens utrullede pakke. Det er to oppgaver: å inkludere bytene i distribusjonen og deretter finne dem i den installerte pakken.

For et Setuptools-prosjekt med crawl_app/resources/proxies.txt inne i Python-pakken kan en pyproject.toml-oppføring inkludere den:

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

Slå dette sammen med prosjektets eksisterende pakkekonfigurasjon. En annen byggebackend har sitt eget grensesnitt for datainkludering.

For middleware som kan bruke endpoint-strenger, kan Python 3.11+ lese pakkeressursen direkte:

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

Bruk det faktiske pakkenavnet og valider det forventede URL-formatet i leseren. For distribuerbare offentlige endpoint-data, bruk adresser fra gratis proxyliste i protokoll- og URL-formatet som middleware forventer. Oppslaget avhenger ikke av utrullingens nåværende arbeidskatalog.

En tredjeparts PROXY_LIST-innstilling kan kreve en filsystemsti i stedet for disse strengene. Når du bruker importlib.resources.as_file for det grensesnittet, hold konteksten åpen så lenge middleware trenger den utpakkede filen. Å returnere en midlertidig sti etter at konteksten er lukket kan miste ressursen.

Oppbevar produksjonslister med påloggingsinformasjon i den tiltenkte hemmelighets- eller konfigurasjonslagringen for utrullingen. Pakkedata egner seg for distribuerbare endpoint-data, ikke en antakelse om at alt som pakkes med kode forblir privat.

Relaterte artikler