Proxy zerrenda bat sartu eta kargatu hedaturiko Scrapy proiektu batean
Sartu Scrapy proxy zerrendaren baliabidea banaketan eta kargatu paketearen kokapenaren arabera, hedaturiko lan-direktorioaren ordez.
Garapen klon baten ondoan dagoen proxy fitxategia ez dago automatikoki crawlerraren hedaturiko paketean. Bi zeregin daude: byteak banaketan sartzea eta, ondoren, instalatutako paketean aurkitzea.
Bere Python paketearen barruan crawl_app/resources/proxies.txt duen Setuptools proiektu baterako, pyproject.toml sarrera batek sar dezake:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Bateratu hori proiektuaren lehendik dagoen pakete-konfigurazioarekin. Beste build backend batek bere datu-sartzeko interfazea du.
Endpoint kateak kontsumitu ditzakeen middlewarearentzat, Python 3.11+ k paketearen baliabidea zuzenean irakur dezake:
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()]
Erabili paketearen benetako izena eta balioztatu irakurgailuan espero den URL formatua. Banatzeko moduko endpoint datu publikoetarako, erabili helbideak doako proxy zerrendatik middlewareak espero duen protokolo eta URL formatuan. Bilaketak ez du hedapenaren uneko lan-direktorioaren mende.
Hirugarrenen PROXY_LIST ezarpenak fitxategi-sistemaren bidea eska dezake kate horien ordez. Interfaze horretarako importlib.resources.as_file erabiltzean, mantendu haren testuingurua irekita middlewareak ateratako fitxategia behar duen bitartean. Testuingurua itxi ondoren aldi baterako bidea itzultzeak baliabidea gal dezake.
Mantendu kredentzialak dituzten ekoizpen-zerrendak hedapenaren xede den sekretu edo konfigurazio biltegian. Paketearen datuak banatzeko moduko endpoint datuetarako egokiak dira, ez kodearekin batera ezartzen den guztia pribatua izango delako ustea.