Python Requests හි ප්රොක්සියක් භාවිතා කරන්නේ කෙසේද (HTTP/HTTPS සහ Session pooling)
Updated:
Python හි requests පුස්තකාලය 'http' සහ 'https' schemes දෙකම http://user:pass@ip:port වෙත map කරමින් proxies dictionary එකක් හරහා සත්යාපිත VinaProxy ප්රොක්සි ලබා ගනී. එම dictionary එක ස්ථාවර requests.Session() එකකට සම්බන්ධ කිරීම මඟින් වේගවත්, අඩු overhead සහිත web scraping සඳහා මූලික TCP sockets නැවත භාවිත කරයි.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- IP 1₫40,000
- IP 5+₫35,000
- IP 10+₫25,000
- IP 20+₫25,000
- IP 50+₫25,000
- IP 100+₫25,000
- IP 200+₫25,000
- IP 500+₫25,000
- IP 1000+₫22,000
- IP 2000+₫20,000
- IP 1₫40,000
- IP 5+₫35,000
- IP 10+₫25,000
- IP 20+₫25,000
- IP 50+₫25,000
- IP 100+₫25,000
- IP 200+₫25,000
- IP 500+₫25,000
- IP 1000+₫22,000
- IP 2000+₫20,000
proxies dictionary එක සකස් කිරීම සහ Sessions නැවත භාවිත කිරීම
සෑම URL එකක් සඳහාම requests.get() ඇමතීමෙන් සෑම අවස්ථාවකදීම අලුත්ම TCP සම්බන්ධතාවක් සහ TLS handshake එකක් නිර්මාණය වේ. ඔබේ ප්රොක්සිය session = requests.Session() වෙත bind කිරීම මඟින් එක දිගට කෙරෙන requests හරහා ප්රොක්සි tunnel එක විවෘතව තබා ගනී.
| Requests Parameter එක | නිර්දේශිත Syntax එක | තාක්ෂණික අරමුණ |
|---|---|---|
'http' key | 'http://user:pass@ip:port' | ප්රොක්සිය හරහා සාමාන්ය HTTP requests ගමන් කරවයි |
'https' key | 'http://user:pass@ip:port' | urllib3 මඟින් TLS සඳහා HTTP CONNECT tunnel එකක් නිකුත් කිරීමට හැකි වන පරිදි http:// scheme භාවිත කරයි |
timeout tuple | timeout=(5, 15) | 5s connect timeout සහ 15s read timeout මඟින් worker threads හිරවීම වළක්වයි |
| Pool rotation | itertools.cycle(proxy_list) | ඔබේ කැපවූ static IP pool එක හරහා සමානව මාරු කරයි |
සුලබ urllib3 සහ ProxyError ගැටලු මඟහරවා ගැනීම
- ඔබේ ප්රොක්සි port එකට TLS-over-TLS අනිවාර්යයෙන්ම අවශ්ය නම් මිස,
'http'සහ'https'dictionary keys දෙක සඳහාම ප්රොක්සි URL scheme ලෙස සැමවිටමhttp://(https://නොවේ) භාවිත කරන්න urllib.parse.quote(password, safe='')භාවිතයෙන් මුරපදවල ඇති විශේෂ අක්ෂර URL-encode කරන්න407 Proxy Authentication Requiredදෝෂයකින් අදහස් වන්නේ ඔබේ URL string හි ඇති පරිශීලක නාමය හෝ මුරපදය ඔබේ dashboard credentials සමඟ නොගැළපුණු බවයිhttpx.Client(proxy='http://user:pass@ip:port')සහaiohttpsession.get(url, proxy=...)සමඟද සමානවම ක්රියා කරයි
පියවරෙන් පියවර
- 1
ip:port:user:pass ආකෘතිය URL syntax බවට පරිවර්තනය කරන්න
ඔබේ VinaProxy ලැයිස්තුව
http://user:pass@ip:portstrings බවට පත් කිරීමට අපගේ Proxy Format Converter භාවිත කරන්න. - 2
proxies dictionary එක නිර්වචනය කරන්න
ඔබේ Python script එක තුළ
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}සකසන්න. - 3
requests.Session() instance එකකට සම්බන්ධ කරන්න
ස්ථාවර
Keep-Alivepooling සඳහාs = requests.Session()initialize කරs.proxies.update(proxies)call කරන්න. - 4
පරීක්ෂණ request එකක් මඟින් exit IP එක තහවුරු කරන්න
සක්රිය ප්රොක්සි IP එක තහවුරු කිරීමට
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())ධාවනය කරන්න.
නිතර අසන ප්රශ්න
'https' key එක 'http://user:pass@ip:port' භාවිත කරන්නේ ඇයි?
http:// උපසර්ගය මඟින් urllib3 වෙත ප්රොක්සි සේවාදායකයට සම්බන්ධ වන්නේ කෙසේදැයි (සම්මත HTTP CONNECT භාවිතයෙන්) පවසන අතර, ඉලක්කගත https:// වෙබ් අඩවිය වෙත යන ඔබේ end-to-end traffic සම්පූර්ණයෙන්ම TLS-encrypted ලෙස පවතී.
Python හි requests හරහා static ප්රොක්සි 25ක් rotate කරන්නේ කෙසේද?
ඔබේ ප්රොක්සි URL 25 pool = itertools.cycle(PROXIES) වෙත load කර, එක් IP එකකට නිසි rate limiting සහිතව එක් request එකකට proxies={'http': p, 'https': p} ලෙස ලබා දෙන්න.
VinaProxy මඟින් Python scraping scripts වල bandwidth මනිනු ලබනවාද?
නැත. සියලුම Dedicated IPv4 සහ Static ISP සැලසුම් සඳහා අසීමිත මාසික traffic ඇතුළත් වේ.
සීමාවකින් තොර Python scraping pool එකක් සාදන්න
රටවල් 7ක් පුරා ක්ෂණික Dedicated IPv4 සහ Static ISP ප්රොක්සි.
Python Proxies මිලදී ගන්න