ciemne logo proxyscrape

Jak używać proxy z modułem żądań w Pythonie

Przewodniki, Jak to zrobić, Proxy, Mar-03-20225 minut czytania

Every computer gets a unique Internet Protocol (IP) address that identifies the computer and its geographic location when connected to the Internet. Your computer sends out a request whenever it needs any information from the Internet. The request is sent to a target computer that checks the type of information being asked for. The target

Każdy komputer otrzymuje unikalny adres protokołu internetowego(IP), który identyfikuje komputer i jego lokalizację geograficzną po podłączeniu do Internetu. Komputer wysyła żądanie za każdym razem, gdy potrzebuje jakichkolwiek informacji z Internetu. Żądanie jest wysyłane do komputera docelowego, który sprawdza typ żądanych informacji. Komputer docelowy wysyła informacje z powrotem, jeśli może je przekazać na nasz adres IP. Czasami komputer chce uzyskać informacje z Internetu bez identyfikacji. Informacje te są zwykle blokowane, ale możemy je uzyskać za pomocą serwera proxy, który działa jako pośrednik między klientem a serwerem.

Każdy serwer proxy ma swój adres IP, więc gdy użytkownik żąda za pośrednictwem serwera proxy dostępu do strony internetowej, strona internetowa wysyła dane do adresu IP serwera proxy, który przekazuje je użytkownikowi.

  • Serwery proxy ukrywają tożsamość web scraperów i sprawiają, że ich ruch wygląda jak ruch zwykłych użytkowników.
  • Serwery proxy zapewniają dodatkowe bezpieczeństwo stronom internetowym i równoważą ruch internetowy.
  • Serwery proxy chronią dane użytkowników sieci lub pomagają uzyskać dostęp do stron internetowych zablokowanych przez mechanizm cenzury danego kraju.

Używanie proxy z modułem żądań w Pythonie

Aby korzystać z serwerów proxy w żądaniach Pythona, należy wykonać poniższe kroki.

Żądania importu

Zaimportuj pakiet requests, który jest prostą biblioteką HTTP. Możesz łatwo wysyłać żądania za pośrednictwem tego pakietu bez ręcznego dodawania ciągów zapytań do adresów URL. Możesz zaimportować żądania za pomocą poniższego polecenia.

żądania importu

Tworzenie słownika

Należy utworzyć słownik proxy definiujący połączenia HTTP i HTTPS. Zmiennej słownika można nadać dowolną nazwę, taką jak "proxy", która mapuje protokół na adres URL serwera proxy. Ponadto należy ustawić zmienną URL na stronę internetową, z której ma być pobierana zawartość.

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

Tutaj słownik definiuje adres URL serwera proxy dla dwóch oddzielnych protokołów, tj. HTTP i HTTPS.

Tworzenie zmiennej odpowiedzi

Musisz utworzyć zmienną odpowiedzi, która używa dowolnej z metod żądań. Metoda ta przyjmuje dwa argumenty:

  • Utworzony adres URL
  • Słownik, który zdefiniowałeś
response = requests.get(url,proxies = proxy)
print(response.json())

Wynik jest następujący:

Można również użyć modułu requests w Pythonie do rotacji adresów IP, jak pokazano poniżej.

Musisz zaimportować moduł żądań za pomocą poniższego polecenia.

żądania importu

Utworzenie funkcji sending_request

Musisz utworzyć funkcję sending_request i preferować używanie proxy http, ponieważ większość darmowych proxy nie używa protokołu https. Użyliśmy bloku try-except, ponieważ większość darmowych serwerów proxy nie działa.

def sending_request(session, proxy):
    try:
        response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
        print(response.json())
    except:
        pass

Read proxies_txt

Należy odczytać plik list_proxies.txt zawierający listę darmowych serwerów proxy i zapisać go w zmiennej o nazwie proxies.

if __name__ == "__main__":
   with open('list_proxies.txt', 'r') as file:
        proxies = file.readlines()

Utwórz sesję

Musisz utworzyć sesję z modułu żądań i wykonać poniższe kroki.

  • Pętla przez proxy
  • Przekaż proxy i sesję do funkcji sending_request
with requests.Session() as session:
   for proxy in proxy:
        sending_request(session, proxy)

Otrzymasz listę serwerów proxy, jak pokazano poniżej.

To tylko niektóre proxy, a lista jest długa, ale wszystkie nie działają.

Potrzeba pełnomocników

Każda firma musi znać pięć istotnych powodów korporacyjnych, dla których warto korzystać z pełnomocników wymienionych poniżej.

Anonimowe wykonywanie wrażliwych zadań

Serwery proxy są dobrze znane ze swojej zdolności do anonimizacji ruchu internetowego. Jednak większość ludzi nie rozumie ich znaczenia w branży biznesowej. Serwery proxy pozwalają oficerom bezpieczeństwa i reporterom chronić siebie, firmy, źródła, klientów i partnerów.

Można również używać serwerów proxy do ochrony rozwoju i bieżących badań oraz innych działań firmy. Załóżmy, że Twoja firma korzysta z serwera proxy i potencjalnego szpiega do śledzenia ruchu internetowego w celu ustalenia, co rozwija Twoja firma. W takim przypadku nie będzie w stanie łatwo śledzić twoich pracowników.

Poprawa bezpieczeństwa korporacyjnego i instytucjonalnego

Wiadomo, że naruszenia danych są kosztowne zarówno pod względem wizerunku publicznego, jak i strat finansowych. Firmy obawiają się więc hakerów. Ale serwery proxy mogą pomóc, ponieważ zmniejszają ryzyko naruszenia danych. Dodają one dodatkową warstwę zabezpieczeń między serwerami a ruchem zewnętrznym. Serwery proxy działają również jako bufor, ponieważ stoją w obliczu Internetu i przekazują żądania z komputerów spoza sieci.

Jeśli hakerzy mają dostęp do serwerów proxy, nadal będą mieli trudności z dotarciem do serwera obsługującego oprogramowanie internetowe, na którym przechowywane są dane.

Kontrolowanie korzystania z Internetu przez pracowników

Wiadomo, że naruszenia danych są kosztowne zarówno pod względem wizerunku publicznego, jak i strat finansowych. Firmy obawiają się więc hakerów. Ale serwery proxy mogą pomóc, ponieważ zmniejszają ryzyko naruszenia danych. Dodają one dodatkową warstwę zabezpieczeń między serwerami a ruchem zewnętrznym. Serwery proxy działają również jako bufor, ponieważ stoją w obliczu Internetu i przekazują żądania z komputerów spoza sieci.

Jeśli hakerzy mają dostęp do serwerów proxy, nadal będą mieli trudności z dotarciem do serwera obsługującego oprogramowanie internetowe, na którym przechowywane są dane.

Oszczędzanie przepustowości i osiąganie wyższych prędkości

Niektórzy ludzie zakładają, że serwery proxy spowalniają prędkość Internetu ze względu na dużą ilość pracy, jaką wykonują w tle. Nie zawsze jest to jednak prawdą. Serwery proxy mogą być używane do oszczędzania przepustowości i zwiększania prędkości poprzez:

  • Buforowanie stron internetowych i plików używanych przez wielu użytkowników
  • Kompresja ruchu
  • Usuwanie reklam ze stron internetowych

Jakich serwerów proxy używać?

Można by pomyśleć, że istnieje jedyny rodzaj pełnomocnictwa, który zapewnia wszystkie korzyści dla firm, takie jak:

  • Zapobieganie naruszeniom danych
  • Ustalanie konkurencyjnych cen
  • Zbieranie cennych danych w mediach społecznościowych
  • Budowanie skutecznej strategii SEO

W rzeczywistości dostępnych jest wiele rodzajów serwerów proxy, a to, którego z nich użyć, zależy od wymagań lub przypadku użycia.

Poniżej wymieniono najpopularniejsze typy serwerów proxy.

Serwery proxy centrum danych

Serwery proxy centrów danych są najczęściej używanymi serwerami proxy przez firmy na całym świecie. Centra danych produkują i zarządzają tymi serwerami proxy. Możesz korzystać z tych serwerów proxy, jeśli chcesz poprawić bezpieczeństwo swojego systemu, ponieważ są one tanie i łatwe do zdobycia. Jednak niektóre strony internetowe zakazują ich używania, ponieważ kojarzą je z aktywnością podobną do botów.

Pełnomocnicy mieszkaniowi

Domowe serwery proxy są powiązane z fizycznymi miejscami zamieszkania i wykorzystują adresy IP rzeczywistych osób dostarczone przez dostawców usług internetowych (ISP). Gdy używasz ich do łączenia się z witryną, wyglądasz jak zwykły użytkownik. W ten sposób prawdopodobieństwo wykrycia i zbanowania jest mniejsze. Za pomocą domowych serwerów proxy można pobierać duże ilości danych internetowych i uzyskać lepszą anonimowość i bezpieczeństwo.

Wnioski

Do tej pory omówiliśmy, że proxy działa jako przekaźnik między klientem a serwerem. Za każdym razem, gdy użytkownik żąda informacji, komputer wysyła to żądanie do serwera proxy, który następnie wysyła informacje do komputera docelowego przy użyciu innego adresu IP. W ten sposób adres IP użytkownika pozostaje poufny. Co więcej, można używać serwerów proxy z modułem żądań w Pythonie i wykonywać różne działania w zależności od potrzeb. Jeśli potrzebujesz statycznego adresu IP z szybkością serwerów proxy dla centrów danych i wysoką anonimowością serwerów proxy dla użytkowników indywidualnych, to statyczne serwery proxy są najlepszym rozwiązaniem, ponieważ adres IP pozostaje niezmieniony przy każdym nowym żądaniu. Z drugiej strony, rotacyjne serwery proxy zapewniają korzyści w testowaniu i skrobaniu.