File proxy di samping salinan pengembangan tidak otomatis ada di paket crawler yang diterapkan. Ada dua pekerjaan: sertakan byte dalam distribusi, lalu temukan di paket yang terpasang.

Untuk proyek Setuptools dengan crawl_app/resources/proxies.txt di dalam paket Python-nya, entri pyproject.toml dapat menyertakannya:

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

Gabungkan itu dengan konfigurasi paket proyek yang sudah ada. Backend build yang berbeda memiliki antarmuka penyertaan data sendiri.

Untuk middleware yang dapat mengonsumsi string endpoint, Python 3.11+ dapat membaca sumber daya paket secara langsung:

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

Gunakan nama paket yang sebenarnya dan validasi format URL yang diharapkan di pembaca. Untuk data endpoint publik yang dapat didistribusikan, gunakan alamat dari daftar proxy gratis dalam protokol dan format URL yang diharapkan middleware. Pencarian tidak bergantung pada direktori kerja penerapan saat ini.

Pengaturan PROXY_LIST pihak ketiga mungkin memerlukan jalur sistem file alih-alih string ini. Saat menggunakan importlib.resources.as_file untuk antarmuka itu, biarkan konteksnya terbuka selama middleware memerlukan file yang diekstrak. Mengembalikan jalur sementara setelah konteks ditutup dapat kehilangan sumber daya.

Simpan daftar produksi yang membawa kredensial di penyimpanan rahasia atau konfigurasi yang dimaksudkan untuk penerapan. Data paket cocok untuk data endpoint yang dapat didistribusikan, bukan asumsi bahwa semua yang dibundel dengan kode tetap privat.

Artikel terkait