Conas seachfhreastalaithe a shocrú agus a rothlú i Python Scrapy
Updated:
Áirítear le hinneall asincrónach Twisted de chuid Scrapy HttpProxyMiddleware ionsuite (ag tosaíocht 750) a pharsálann teaghráin http://user:pass@ip:port a shanntar do request.meta['proxy']. Trí Downloader Middleware saincheaptha 10 líne a scríobh ag tosaíocht 740, is féidir le do chuid damhán alla rothlú trasna linn de sheoltaí IP statacha VinaProxy gan teorainn go huathoibríoch.
request.meta['proxy'] = 'http://user:pass@ip:port'- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
Ord middleware seachfhreastalaí Scrapy & socruithe comhthráthachta
Ós rud é go ritheann HttpProxyMiddleware ag ord 750 chun user:pass a bhaint den URL seachfhreastalaí agus an ceanntásc Proxy-Authorization a ionchódú, ní mór d'aon middleware saincheaptha a shocraíonn request.meta['proxy'] rith ag uimhir níos ísle (m.sh., 740):
| Socrú Scrapy | Luach Molta | Cuspóir |
|---|---|---|
request.meta['proxy'] | 'http://user:pass@ip:port' | Treoraíonn sé an t-iarratas tríd an seachfhreastalaí VinaProxy sonraithe |
| Tosaíocht Middleware | 740 (roimh 750) | Cinntíonn sé go n-ionchódaíonn HttpProxyMiddleware an ceanntásc user:pass |
CONCURRENT_REQUESTS_PER_IP | 2 go 4 | Cuireann sé teorainn le soicéid chomhuaineacha in aghaidh an IP seachfhreastalaí chun HTTP 429 a sheachaint |
AUTOTHROTTLE_ENABLED | True | Déanann sé moill an chuardaigh a oiriúnú go dinimiciúil bunaithe ar aga folaigh na sprice |
Dea-chleachtais do chuardaigh Scrapy ar ardtoirt
- Luchtaigh do liosta seachfhreastalaí VinaProxy i
from_crawler()agus sannrequest.meta['proxy'] = random.choice(self.proxies)laistigh deprocess_request() - Cumasaigh
RANDOMIZE_DOWNLOAD_DELAY = Truein éineacht leDOWNLOAD_DELAY = 1.0ionas nach mbeidh cuma róbataigh ar eatraimh iarratais in aghaidh an IP choíche - Nuair a dhéantar atriail (
429nó503), roghnaigh seachfhreastalaí difriúil ó do linn sula gcuirtear an t-iarratas sa scuaine arís
Céim ar chéim
- 1
Formáidigh do linn seachfhreastalaí mar http://user:pass@ip:port
Greamaigh do liosta VinaProxy isteach inár Proxy Format Converter chun teaghráin URL a fháil.
- 2
Cruthaigh ProxyPoolMiddleware i middlewares.py
Sainmhínigh
process_request(self, request, spider)chunrequest.meta['proxy'] = random.choice(self.proxies)a shocrú. - 3
Cláraigh ag tosaíocht 740 i settings.py
Cuir
'myproject.middlewares.ProxyPoolMiddleware': 740faoiDOWNLOADER_MIDDLEWARESagus socraighCONCURRENT_REQUESTS_PER_IP = 2. - 4
Tástáil le scrapy shell nó scrapy crawl
Rith tástáil iarratais i gcoinne
https://vinaproxy.com/api/my-ipchun rothlú agus fíordheimhniú a fhíorú.
Ceisteanna coitianta
Cén fáth ar theip ar mo middleware seachfhreastalaí Scrapy saincheaptha nuair a socraíodh é ag tosaíocht 800?
Ritheann HttpProxyMiddleware ionsuite Scrapy ag tosaíocht 750. Má ritheann do middleware ag 800 (tar éis 750), ní dhéantar na dintiúir inlíne user:pass a thiontú go ceanntásc Proxy-Authorization choíche. Socraigh tosaíocht do middleware faoi bhun 750 i gcónaí (cosúil le 740).
An gcoimeádann Scrapy naisc sheasmhacha oscailte do gach seachfhreastalaí?
Coinníonn. Cothaíonn linn nasc Twisted naisc sheasmhacha keep-alive do gach críochphointe seachfhreastalaí.
An bhfuil seachfhreastalaithe VinaProxy gan teorainn do phoist Scrapy de na milliúin leathanach?
Tá. Áirítear bandaleithead míosúil neamhtheoranta le gach plean Dedicated IPv4 agus Static ISP.
Déan do chuid damhán alla Scrapy a scála le linnte IP statacha gan teorainn
Seachfhreastalaithe Dedicated IPv4 agus Static ISP ar an toirt ar an mórchóir trasna 7 dtír.
Ceannaigh Seachfhreastalaithe Scrapy