Arenduskloo kõrval asuv puhverserverite fail ei ole crawleri juurutatud paketis automaatselt olemas. On kaks ülesannet: kaasata baidid distributsiooni ja seejärel leida need paigaldatud paketist.

Setuptools-projektil, mille Python-paketis on crawl_app/resources/proxies.txt, võib pyproject.toml-i kirje selle kaasata:

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

Ühendage see projekti olemasoleva paketikonfiguratsiooniga. Teisel build-backendil on oma andmete kaasamise liides.

Middleware'ile, mis suudab endpoint-stringe tarbida, saab Python 3.11+ paketi ressursi otse lugeda:

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

Kasutage tegelikku paketinime ja valideerige lugejas oodatav URL-vorming. Levitatavate avalike endpoint-andmete jaoks kasutage aadresse tasuta puhverserverite nimekirjast middleware'i oodatavas protokollis ja URL-vormingus. Otsing ei sõltu juurutuse praegusest töökataloogist.

Kolmanda osapoole PROXY_LIST-seade võib nõuda failisüsteemi teed nende stringide asemel. Kui kasutate selle liidese jaoks importlib.resources.as_file, hoidke selle kontekst avatud seni, kuni middleware vajab ekstraktitud faili. Ajutise tee tagastamine pärast konteksti sulgemist võib ressursi kaotada.

Hoidke identimisandmeid sisaldavad tootmisnimekirjad juurutuse jaoks ette nähtud saladuste või konfiguratsiooni hoidlas. Paketiandmed sobivad levitatavate endpoint-andmete jaoks, mitte eelduseks, et kõik koodiga pakendatu jääb privaatseks.

Seotud artiklid