Kujumuisha na kupakia orodha ya proksi katika mradi wa Scrapy uliosambazwa
Jumuisha rasilimali ya orodha ya proksi ya Scrapy katika usambazaji na uipakishe kwa eneo la kifurushi badala ya saraka ya kazi iliyosambazwa.
Faili ya proksi kando ya nakala ya maendeleo haipo kiotomatiki katika kifurushi cha crawler kilichosambazwa. Kuna kazi mbili: kujumuisha baiti katika usambazaji, kisha kuzipata katika kifurushi kilichosakinishwa.
Kwa mradi wa Setuptools wenye crawl_app/resources/proxies.txt ndani ya kifurushi chake cha Python, ingizo la pyproject.toml linaweza kuijumuisha:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Unganisha hilo na usanidi uliopo wa kifurushi wa mradi. Backend tofauti ya ujenzi ina kiolesura chake cha ujumuishaji wa data.
Kwa middleware inayoweza kutumia mifuatano ya endpoint, Python 3.11+ inaweza kusoma rasilimali ya kifurushi moja kwa moja:
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()]
Tumia jina halisi la kifurushi na uthibitishe umbizo la URL linalotarajiwa katika kisomaji. Kwa data ya endpoint ya umma inayoweza kusambazwa, tumia anwani kutoka orodha ya proksi bila malipo katika itifaki na umbizo la URL linalotarajiwa na middleware. Utafutaji hautegemei saraka ya kazi ya sasa ya usambazaji.
Mpangilio wa PROXY_LIST wa mtu mwingine unaweza kuhitaji njia ya mfumo wa faili badala ya mifuatano hii. Unapotumia importlib.resources.as_file kwa kiolesura hicho, weka muktadha wake wazi kwa muda wote middleware inahitaji faili iliyotolewa. Kurudisha njia ya muda baada ya muktadha kufungwa kunaweza kupoteza rasilimali.
Weka orodha za uzalishaji zilizo na vitambulisho katika hifadhi ya siri au usanidi inayokusudiwa kwa usambazaji. Data ya kifurushi inafaa kwa data ya endpoint inayoweza kusambazwa, si kudhani kuwa kila kitu kilichofungwa na msimbo kinabaki kuwa siri.