Eng Proxylëscht an engem deployéierte Scrapy-Projet abannen an lueden
Bannt eng Scrapy-Proxylëscht-Ressource an d'Distributioun an a lued se no der Paketplaz amplaz vum deployéierten Aarbechtsverzeechnis.
Eng Proxy-Datei niewent engem Entwécklungs-Checkout ass net automatesch am deployéierte Pak vum Crawler. Et ginn zwou Aufgaben: d'Bytes an d'Distributioun abannen, duerno se am installéierte Pak fannen.
Fir e Setuptools-Projet mat crawl_app/resources/proxies.txt bannent sengem Python-Pak kann en pyproject.toml-Agang se abannen:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Füügt dat mat der existéierender Pakkonfiguratioun vum Projet zesummen. En anere Build-Backend huet seng eegen Databannen-Interface.
Fir Middleware, déi Endpoint-Strings kann notzen, kann Python 3.11+ d'Pakressource direkt liesen:
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()]
Benotzt den tatsächleche Paknumm a validéiert den erwaarten URL-Format am Lieser. Fir verdeelbar ëffentlech Endpoint-Daten benotzt Adressen aus der gratis Proxylëscht am Protokoll an URL-Format, deen d'Middleware erwaart. D'Sich hänkt net vum aktuellen Aarbechtsverzeechnis vum Deployment of.
Eng PROXY_LIST-Astellung vun Drëtten kann e Dateisystemwee amplaz vun dësen Strings verlaangen. Wann Dir importlib.resources.as_file fir dës Interface benotzt, haalt säi Kontext op, soulaang d'Middleware déi extrahéiert Datei brauch. En temporäre Wee no dem Zoumaache vum Kontext zréckzeginn kann d'Ressource verléieren.
Halt Produktiounslëschten mat Umeldungsinformatiounen am virgesinnten geheimen oder Konfiguratiounsspäicher vum Deployment. Pakdaten eege sech fir verdeelbar Endpoint-Daten, net fir d'Unhuel datt alles wat mam Code gebündelt gëtt privat bleift.