Súbor proxy vedľa vývojového klonu nie je automaticky prítomný v nasadenom balíku crawlera. Sú dve úlohy: zahrnúť bajty do distribúcie a potom ich nájsť v nainštalovanom balíku.

Pre projekt Setuptools s crawl_app/resources/proxies.txt v jeho Python balíku ho môže zahrnúť záznam v pyproject.toml:

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

Zlúčte to s existujúcou konfiguráciou balíka projektu. Iný build backend má vlastné rozhranie na zahrnutie dát.

Pre middleware, ktorý dokáže spotrebúvať reťazce endpointov, môže Python 3.11+ čítať prostriedok balíka priamo:

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

Použite skutočný názov balíka a overte očakávaný formát URL v čítačke. Pre distribuovateľné verejné údaje endpointov používajte adresy z zoznamu bezplatných proxy v protokole a formáte URL, ktoré middleware očakáva. Vyhľadávanie nezávisí od aktuálneho pracovného adresára nasadenia.

Nastavenie PROXY_LIST tretej strany môže vyžadovať cestu v súborovom systéme namiesto týchto reťazcov. Pri používaní importlib.resources.as_file pre toto rozhranie udržujte jeho kontext otvorený, kým middleware potrebuje extrahovaný súbor. Vrátenie dočasnej cesty po zatvorení kontextu môže prostriedok stratiť.

Uchovávajte produkčné zoznamy s prihlasovacími údajmi v zamýšľanom úložisku tajomstiev alebo konfigurácie pre nasadenie. Dáta balíka sú vhodné pre distribuovateľné údaje endpointov, nie pre predpoklad, že všetko zabalené s kódom zostane súkromné.

Súvisiace články