Kif tuża proxy f'Python Requests (HTTP/HTTPS u pooling ta' Sessions)
Updated:
Il-librerija requests ta' Python taċċetta proxies awtentikati ta' VinaProxy permezz ta' dizzjunarju proxies li jimmappja kemm l-iskemi 'http' kif ukoll 'https' għal http://user:pass@ip:port. Meta torbot dak id-dizzjunarju ma' requests.Session() persistenti, terġa' tuża s-sockets TCP sottostanti għal web scraping veloċi u b'overhead baxx.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- IP 1₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
- IP 1₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
Kif tifformattja d-dizzjunarju proxies u terġa' tuża Sessions
Kull meta ssejjaħ requests.get() fuq kull URL, toħloq konnessjoni TCP u TLS handshake ġdida fjamanta kull darba. Meta torbot il-proxy tiegħek ma' session = requests.Session(), il-mina tal-proxy tibqa' miftuħa tul talbiet konsekuttivi.
| Parametru ta' Requests | Sintassi Rakkomandata | Għan Tekniku |
|---|---|---|
'http' key | 'http://user:pass@ip:port' | Jgħaddi talbiet HTTP ordinarji mill-proxy |
'https' key | 'http://user:pass@ip:port' | Juża l-iskema http:// biex urllib3 jibgħat mina HTTP CONNECT għal TLS |
timeout tuple | timeout=(5, 15) | Connect timeout ta' 5s u read timeout ta' 15s jipprevjenu worker threads milli jeħlu |
| Rotazzjoni tal-pool | itertools.cycle(proxy_list) | Iċikla b'mod uniformi tul il-pool tiegħek ta' IPs statiċi ddedikati |
Kif tevita żbalji komuni ta' urllib3 u ProxyError
- Dejjem uża
http://(mhuxhttps://) bħala l-iskema tal-URL tal-proxy kemm għaċ-ċwievet tad-dizzjunarju'http'kif ukoll'https', sakemm il-port tal-proxy tiegħek ma jirrikjedix espliċitament TLS-over-TLS - Ikkodifika karattri speċjali fil-passwords f'format URL billi tuża
urllib.parse.quote(password, safe='') - Żball
407 Proxy Authentication Requiredifisser li l-username jew il-password fis-sekwenza tal-URL tiegħek ma qablitx mal-kredenzjali tad-dashboard tiegħek - Jaħdem bl-istess mod eżatt ma'
httpx.Client(proxy='http://user:pass@ip:port')uaiohttpsession.get(url, proxy=...)
Pass pass
- 1
Ikkonverti ip:port:user:pass għal sintassi ta' URL
Uża l-Proxy Format Converter tagħna biex tbiddel il-lista tiegħek ta' VinaProxy f'sekwenzi ta'
http://user:pass@ip:port. - 2
Iddefinixxi d-dizzjunarju proxies
Issettja
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}fl-iskript ta' Python tiegħek. - 3
Qabbad ma' istanza ta' requests.Session()
Inizjalizza
s = requests.Session()u sejjaħs.proxies.update(proxies)għal pooling persistenti b'Keep-Alive. - 4
Ivverifika l-IP tal-ħruġ b'talba tat-test
Ħaddem
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())biex tikkonferma l-IP attiv tal-proxy.
Mistoqsijiet frekwenti
Għaliex iċ-ċavetta 'https' tuża 'http://user:pass@ip:port'?
Il-prefiss http:// jgħid lil urllib3 kif jikkonnettja mas-server tal-proxy innifsu (permezz ta' HTTP CONNECT standard), filwaqt li t-traffiku minn tarf sa tarf lejn il-websajt fil-mira https:// jibqa' kkodifikat kompletament b'TLS.
Kif indawwar 25 proxy statiku tul it-talbiet f'Python?
Tella' l-25 URL tal-proxy tiegħek f'pool = itertools.cycle(PROXIES) u għaddi proxies={'http': p, 'https': p} għal kull talba b'rate limiting edukat għal kull IP.
VinaProxy ikejjel il-bandwidth fuq skripts ta' scraping f'Python?
Le. Il-pjanijiet kollha Dedicated IPv4 u Static ISP jinkludu traffiku ta' kull xahar bla limitu.
Ibni pool għal scraping f'Python mingħajr limiti
Proxies Dedicated IPv4 u Static ISP immedjati f'7 pajjiżi.
Ixtri Proxies għal Python