Liosta seachfhreastalaí a áireamh agus a lódáil i dtionscadal Scrapy imscartha
Áirigh acmhainn liosta seachfhreastalaí Scrapy sa dáileadh agus lódáil de réir shuíomh an phacáiste seach fillteán oibre an imscartha.
Níl comhad seachfhreastalaí in aice le clón forbartha i láthair go huathoibríoch i bpacáiste imscartha an chromadóra. Tá dhá thasc ann: na bearta a áireamh sa dáileadh, agus iad a aimsiú sa phacáiste suiteáilte ansin.
Do thionscadal Setuptools a bhfuil crawl_app/resources/proxies.txt laistigh dá phacáiste Python aige, is féidir le hiontráil pyproject.toml é a áireamh:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Cumasc sin le cumraíocht phacáiste reatha an tionscadail. Tá a chomhéadan áireamh sonraí féin ag cúlcóras tógála eile.
Do middleware ar féidir leis teaghráin endpoint a chaitheamh, is féidir le Python 3.11+ acmhainn an phacáiste a léamh go díreach:
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()]
Úsáid fíor-ainm an phacáiste agus bailíochtaigh an fhormáid URL a bhfuiltear ag súil léi sa léitheoir. Le haghaidh sonraí endpoint poiblí inroinnte, úsáid seoltaí ón liosta seachfhreastalaí saor in aisce sa phrótacal agus san fhormáid URL a bhfuiltear ag súil leo ón middleware. Ní bhraitheann an cuardach ar fhillteán oibre reatha an imscartha.
D'fhéadfadh socrú PROXY_LIST tríú páirtí cosán córais comhad a éileamh seach na teaghráin seo. Agus importlib.resources.as_file á úsáid agat don chomhéadan sin, coinnigh a chomhthéacs oscailte chomh fada agus a bhíonn an comhad eastósctha de dhíth ar an middleware. Má thugtar cosán sealadach ar ais tar éis an comhthéacs a dhúnadh, féadfar an acmhainn a chailliúint.
Coinnigh liostaí táirgthe a bhfuil dintiúir iontu sa stóras rúin nó cumraíochta atá beartaithe don imscaradh. Tá sonraí pacáiste oiriúnach do shonraí endpoint inroinnte, ní do thoimhde go bhfanann gach rud a dhéantar a phacáistiú le cód príobháideach.