Krótka, prosta informacja o doskonałym module Requests dla Pythona.
Nie mogę znaleźć w dokumentacji, co powinna zawierać zmienna „proxy”. Kiedy wysyłam mu dyktando ze standardową wartością „IP: PORT”, odrzuca prośbę o podanie 2 wartości. Więc myślę (ponieważ nie wydaje się to być uwzględnione w dokumentacji), że pierwsza wartość to ip, a druga port?
Dokumenty wspominają tylko o tym:
proxy - (opcjonalne) Protokół mapowania słownika na adres URL serwera proxy.
Więc spróbowałem tego ... co powinienem robić?
proxy = { ip: port}
i czy powinienem przekonwertować je na jakiś typ przed umieszczeniem ich w dyktando?
r = requests.get(url,headers=headers,proxies=proxy)
źródło
urllib3
więc będę musiał się temu przyjrzeć. Dzięki za ostrzeżenie.Odkryłem, że urllib ma naprawdę dobry kod do wychwytywania ustawień proxy systemu i tak się składa, że są w prawidłowej formie do bezpośredniego użycia. Możesz użyć tego jak:
Działa naprawdę dobrze, a urllib wie również o pobieraniu ustawień Mac OS X i Windows.
źródło
module 'urllib' has no attribute 'getproxies'
Możesz zapoznać się z dokumentacją proxy tutaj .
Jeśli potrzebujesz użyć proxy, możesz skonfigurować indywidualne żądania z argumentem proxy dla dowolnej metody żądania:
Aby używać podstawowego uwierzytelniania HTTP z serwerem proxy, użyj składni http: // użytkownik: hasł[email protected]/:
źródło
Przyjęta odpowiedź była dla mnie dobrym początkiem, ale ciągle otrzymywałem następujący błąd:
Rozwiązaniem tego problemu było określenie http: // w adresie URL serwera proxy, w ten sposób:
Byłbym ciekawy, dlaczego oryginał działa dla niektórych osób, ale nie dla mnie.
Edycja: widzę, że główna odpowiedź została zaktualizowana, aby to odzwierciedlić :)
źródło
Jeśli chcesz utrwalać pliki cookie i dane sesji, najlepiej zrób to w następujący sposób:
źródło
8 lat późno. Ale lubię:
źródło
oto moja podstawowa klasa w Pythonie dla modułu żądań z kilkoma konfiguracjami proxy i stoperem!
źródło
Właśnie utworzyłem proxy graber, a także mogę łączyć się z tym samym pobranym proxy bez żadnego wkładu tutaj:
źródło
Jest trochę za późno, ale oto klasa otoki, która upraszcza skrobanie serwerów proxy, a następnie tworzenie http POST lub GET:
ProxyRequests
źródło
Udostępniam kod, jak pobrać serwery proxy ze strony „https://free-proxy-list.net” i przechowywać dane w pliku zgodnym z narzędziami typu „Elite Proxy Switcher” (format IP: PORT):
## PROXY_UPDATER - uzyskaj darmowe proxy z https://free-proxy-list.net/
źródło