Прокси-датотеката до развојна копија не е автоматски присутна во распоредениот пакет на crawler-от. Има две задачи: вклучување на бајтите во дистрибуцијата и потоа нивно пронаоѓање во инсталираниот пакет.

За проект на Setuptools со crawl_app/resources/proxies.txt во неговиот Python пакет, запис во pyproject.toml може да го вклучи:

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

Спојте го тоа со постоечката конфигурација на пакетот на проектот. Друг build backend има свој интерфејс за вклучување податоци.

За middleware што може да консумира endpoint низи, Python 3.11+ може директно да го чита ресурсот на пакетот:

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

Користете го вистинското име на пакетот и валидирајте го очекуваниот URL формат во читачот. За дистрибутивни јавни endpoint податоци, користете адреси од бесплатниот список со прокси во протоколот и URL формат што ги очекува middleware. Пребарувањето не зависи од тековниот работен директориум на распоредувањето.

Поставката PROXY_LIST од трета страна може да бара патека во датотечниот систем наместо овие низи. Кога користите importlib.resources.as_file за тој интерфејс, држете го неговиот контекст отворен сè додека на middleware му е потребна извлечената датотека. Враќањето привремена патека откако контекстот е затворен може да го загуби ресурсот.

Чувајте ги производствените списоци со акредитиви во предвиденото складиште за тајни или конфигурација на распоредувањето. Податоците од пакетот се соодветни за дистрибутивни endpoint податоци, а не претпоставка дека сè што е спакувано со код останува приватно.

Поврзани статии