Fáìlì proxy tó wà lẹ́gbẹ̀ẹ́ ẹ̀dà ìdàgbàsókè kì í wà fúnra rẹ̀ nínú àpò crawler tí a gbé kalẹ̀. Iṣẹ́ méjì wà: fi àwọn byte sínú ìpínkiri, lẹ́yìn náà wá wọn nínú àpò tí a fi sórí ẹ̀rọ.

Fún iṣẹ́ Setuptools tó ní crawl_app/resources/proxies.txt nínú àpò Python rẹ̀, àkọsílẹ̀ pyproject.toml lè fi í kún:

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

Darapọ̀ mọ́ ìṣètò àpò iṣẹ́ tó wà tẹ́lẹ̀. Ẹ̀yà ìkọ́ míràn ní ojú-ọ̀nà ìfi dátà sínú tirẹ̀.

Fún middleware tó lè lo àwọn okùn endpoint, Python 3.11+ lè ka orísun àpò náà tààrà:

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

Lo orúkọ àpò gidi kí o sì ṣàyẹ̀wò ìlànà URL tí a retí nínú olùkà. Fún dátà endpoint gbogbogbò tí a lè pín, lo àwọn àdírẹ́sì láti àkójọ proxy ọ̀fẹ́ nínú ìlànà protocol àti URL tí middleware retí. Ìwádí kò sinmi lórí àpò iṣẹ́ lọ́wọ́lọ́wọ́ ti ìgbékalẹ̀.

Ìṣètò PROXY_LIST ẹlòmíràn lè nílò ọ̀nà ẹ̀rọ fáìlì dípò àwọn okùn wọ̀nyí. Nígbà tí o bá ń lo importlib.resources.as_file fún ojú-ọ̀nà yẹn, jẹ́ kí àyíká rẹ̀ ṣí silẹ̀ níwọ̀n ìgbà tí middleware bá nílò fáìlì tí a yọ jáde. Pípada ọ̀nà ìgbà díẹ̀ lẹ́yìn tí a ti ti àyíká dé lè sọ orísun náà nù.

Tọ́jú àwọn àkójọ ìṣèlú tó ní ẹ̀rí ìdánimọ̀ nínú ìpamọ́ àṣírí tàbí ìṣètò tí a pinnu fún ìgbékalẹ̀. Dátà àpò yẹ fún dátà endpoint tí a lè pín, kì í ṣe àròsọ pé gbogbo ohun tí a fi kóòdù pa pọ̀ yóò wà ní ìkọ̀kọ̀.

Àwọn àpilẹ̀kọ tó jọra