Puhverserverite nimekirja kaasamine ja laadimine juurutatud Scrapy projektis
Kaasake Scrapy puhverserverite nimekirja ressurss distributsiooni ja laadige see paketi asukoha järgi, mitte juurutatud töökataloogi järgi.
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.