Python Requests'те проксини кантип колдонуу керек (HTTP/HTTPS жана Session пулинги)
Updated:
Python'дун requests китепканасы аутентификацияланган VinaProxy проксилерин 'http' жана 'https' схемаларын тең http://user:pass@ip:port дарегине дал келтирүүчү proxies сөздүгү аркылуу кабыл алат. Ал сөздүктү туруктуу requests.Session() объектисине туташтыруу веб-скрейпингди тез жана ашыкча чыгымсыз жүргүзүү үчүн негизги TCP-сокеттерин кайра колдонот.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
proxies сөздүгүн форматтоо жана Session'дорду кайра колдонуу
Ар бир URL'де requests.get() чакыруу сайын жаңы TCP байланышы жана TLS кол алышуусу түзүлөт. Проксиңизди session = requests.Session() менен байланыштыруу удаалаш суроо-талаптарда прокси туннелин ачык кармайт.
| Requests параметри | Сунушталган синтаксис | Техникалык максаты |
|---|---|---|
'http' ачкычы | 'http://user:pass@ip:port' | Жөнөкөй HTTP суроо-талаптарын прокси аркылуу багыттайт |
'https' ачкычы | 'http://user:pass@ip:port' | urllib3 TLS үчүн HTTP CONNECT туннелин түзүшү үчүн http:// схемасын колдонот |
timeout кортежи | timeout=(5, 15) | 5 с туташуу күтүү убактысы жана 15 с окуу күтүү убактысы иштеп жаткан жиптердин (threads) илинип калуусунун алдын алат |
| Пулду ротациялоо | itertools.cycle(proxy_list) | Бөлүнгөн статикалык IP пулуңуз боюнча бирдей айлантат |
Көп кездешүүчү urllib3 жана ProxyError каталарынан качуу
- Прокси портуңуз TLS-over-TLSти так талап кылбаса,
'http'жана'https'сөздүк ачкычтарынын экөө үчүн тең прокси URL схемасы катары ар дайымhttp://(https://эмес) колдонуңуз - Сырсөздөрдөгү атайын белгилерди
urllib.parse.quote(password, safe='')аркылуу URL-коддоого өткөрүңүз 407 Proxy Authentication Requiredкатасы URL сабындагы колдонуучу аты же сырсөз башкаруу панелиндеги маалыматтарыңызга дал келбегенин билдиретhttpx.Client(proxy='http://user:pass@ip:port')жанаaiohttpsession.get(url, proxy=...)менен да так ошондой иштейт
Кадам-кадам
- 1
ip:port:user:pass форматын URL синтаксисине которуу
VinaProxy тизмеңизди
http://user:pass@ip:portсаптарына айландыруу үчүн биздин Proxy Format Converter куралыбызды колдонуңуз. - 2
proxies сөздүгүн аныктоо
Python скриптиңизде
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}деп орнотуңуз. - 3
requests.Session() нускасына туташтыруу
Туруктуу
Keep-Aliveпулинги үчүнs = requests.Session()инициализациялап,s.proxies.update(proxies)чакырыңыз. - 4
Чыгуучу IPни сыноо суроо-талабы менен текшерүү
Активдүү прокси IPсин тастыктоо үчүн
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())буйругун иштетиңиз.
Көп берилүүчү суроолор
Эмне үчүн 'https' ачкычы 'http://user:pass@ip:port' колдонот?
http:// префикси urllib3 китепканасына прокси-сервердин өзүнө кантип туташууну (стандарттуу HTTP CONNECT колдонуу менен) билдирет, ал эми максаттуу https:// веб-сайтына чейинки трафигиңиз толугу менен TLS аркылуу шифрленген бойдон калат.
Python'до суроо-талаптар арасында 25 статикалык проксини кантип айлантса болот?
25 прокси URL дарегиңизди pool = itertools.cycle(PROXIES) ичине жүктөп, ар бир IP үчүн чектөөлөрдү сактоо менен суроо-талап сайын proxies={'http': p, 'https': p} бериңиз.
VinaProxy Python скрейпинг скрипттериндеги трафикти чектейби?
Жок. Бардык Dedicated IPv4 жана Static ISP тарифтик пландары чексиз айлык трафикти камтыйт.
Чексиз Python скрейпинг пулун түзүңүз
7 өлкө боюнча заматта берилүүчү Dedicated IPv4 жана Static ISP проксилери.
Python проксилерин сатып алуу