Wie benutzt man Proxies, um IP-Adressen in Python zu rotieren? 5 einfache Schritte im Jahr 2024

Anleitungen, Proxies, Python, Nov-22-20225 Min. gelesen

Wenn Sie einen Proxy verwenden, stellen Sie keine direkte Verbindung zum Zielserver her, sondern leiten Ihre Anfrage an den Proxyserver, der sie auswertet und eine Antwort zurückschickt. Proxys haben viele Vorteile, z. B. verbergen sie Ihre echten IP-Adressen und umgehen Filter, Zensur usw. Es ist manchmal schwierig, fortgeschrittenes Web Scraping durchzuführen

Inhaltsübersicht

Wenn Sie einen Proxy verwenden, stellen Sie keine direkte Verbindung zum Zielserver her, sondern leiten Ihre Anfrage an den Proxy-Server, der sie auswertet und eine Antwort zurückschickt. Proxys haben viele Vorteile, z. B. verbergen sie Ihre echten IP-Adressen und umgehen Filter, Zensur usw. 

Es ist manchmal schwierig, fortgeschrittenes Web-Scraping durchzuführen, weil mehrere Anfragen von derselben IP-Adresse aus gesendet werden. Web-Scraper haben häufig das Problem, dass sie von Websites, die sie scrapen, blockiert werden. Sie können jedoch viele Techniken anwenden, um zu verhindern, dass sie blockiert werden, z. B.

  • Rotierende IP-Adressen
  • Verwendung von Headless Browsern
  • Verringerung der Crawling-Rate,
  • Verwendung von Proxys

Ein Proxy-Rotator kann Ihnen helfen, die meisten Anti-Scraping-Maßnahmen zu umgehen. Sie können ihn auch verwenden, um etwaige auf der Ziel-Website implementierte Ratenbeschränkungen zu umgehen und erfolgreich Daten zu extrahieren. Aber was ist ein rotierender Proxy? Es handelt sich um einen Proxy, der für jede Verbindung aus dem Proxy-Pool eine neue IP-Adresse zuweist. Das bedeutet, dass Sie 1000 Anfragen an eine beliebige Anzahl von Websites senden können, indem Sie ein Skript starten und 1000 verschiedene IP-Adressen erhalten.

Dieser Artikel hilft Ihnen zu verstehen, wie man Proxys verwendet, um IP-Adressen in Python zu rotieren.

Wie man Proxies zum Rotieren von IP-Adressen in Python verwendet

Sie können eine Liste kostenloser Proxys abrufen und sie in einer Textdatei namens list_proxy.txt speichern. Dann können Sie die folgenden Schritte befolgen, um IP-Adressen in Python zu rotieren.

Bibliotheken importieren

Sie müssen das Python-Modul requests mit dem folgenden Befehl importieren.

Einfuhranträge

Wenn das Modul in Ihrer Umgebung nicht installiert ist, können Sie es mit dem folgenden Befehl installieren.

!pip install Anfragen

Eine Funktion erstellen

Sie müssen eine send_request-Funktion erstellen, die zwei Parameter benötigt, d. h. Sitzung und Proxy. Es wäre besser, einen HTTP-Proxy zu verwenden, da die meisten kostenlosen Proxys nicht das HTTPS-Protokoll verwenden. Wir werden try-except-Blöcke verwenden, da die meisten kostenlosen Proxys nicht funktionieren, da sie auf der Blockliste stehen.

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

Die .txt-Datei lesen

Jetzt kommt der Hauptteil des Codes. Sie müssen Ihre Datei list_proxy.txt einlesen und in der Variablen proxies speichern, wie unten gezeigt.

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

Eine For-Schleife verwenden

Um eine Sitzung in Python zu erstellen, müssen Sie das Modul requests verwenden. Im folgenden Code haben wir eine for-Schleife verwendet, um den Proxy zu durchlaufen. Anschließend haben wir die Sitzung und den Proxy an die Funktion send_request übergeben. 

mit requests.Session() as session:
  for proxy in proxies:
       send_request(session, proxy)

Das Skript ausführen

Führen Sie das Skript aus und sehen Sie sich die Ausgabe wie unten gezeigt an. Sie erhalten eine lange Liste von Proxys, aber denken Sie daran, dass sie nicht funktionieren werden. 

python rotateproxy.py

Ihr gesamter Code wird wie folgt aussehen:

import requests


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


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

   with requests.Session() as session:
       for proxy in proxies:
           send_request(session, proxy)

Tipps zur Erstellung eines Proxy-Rotators

Im Folgenden finden Sie einige Tipps zum Drehen von Proxys in Python, wenn Sie einen rotierenden Proxy verwenden.

Verwenden Sie zuverlässige, kostenlose Proxy-Dienste

Die meisten der verfügbaren kostenlosen Proxy-Dienste sind überlastet, was zu unerwarteten Abstürzen und frustrierenden Verzögerungen führt. Wenn Sie sich für kostenlose Proxys entscheiden, müssen Sie daher prüfen, ob sie Ihren Scraping-Bedürfnissen entsprechen, ohne dass es zu nennenswerten Beeinträchtigungen kommt.

Die meisten kostenlosen Proxys sind nur für eine begrenzte Zeit gültig, so dass Sie Ihre eigene Logik in Python erstellen können, die den Rotator der kostenlosen Proxy-Liste mit funktionierenden IP-Adressen rotieren lässt. Auf diese Weise kommt es beim Web-Scraping nicht zu Unterbrechungen. 

Verzichten Sie auf die Verwendung vorhersehbarer Proxy-IP-Adressen

Vermeiden Sie die Verwendung von IP-Adressen, die einer bestimmten Reihenfolge oder einem vorhersehbaren Format folgen, z. B. derselben Gruppe angehören. Das liegt daran, dass die meisten Anti-Scraping-Tools die von solchen IP-Adressen gesendeten Anfragen leicht erkennen können. So sollten Sie zum Beispiel die folgende Abfolge rotierender IP-Adressen nicht verwenden, da sie schnell auffallen würde.

103.243.132.11

103.243.132.12

103.243.132.13

103.243.132.14

Erwägen Sie einen Premium-Proxy-Dienst

Die kostenlosen Proxy-IP-Rotatoren sind unsicher und langsam. Sie sind daher nicht geeignet, wenn Sie fortgeschrittene und groß angelegte Web-Scraping-Projekte durchführen. Mit guten Premium-Proxys erhalten Sie einen qualitativ hochwertigen Service und können Tausende von Webseiten scrapen, ohne dass es zu Blockaden oder Unterbrechungen kommt. 

Um einen Premium-Proxy-Dienst zu nutzen, müssen Sie ein paar Dollar bezahlen und einen Anbieter finden, der Ihre Anforderungen an die Datenextraktion erfüllt und Ihre Privatsphäre garantiert.

Entscheiden Sie sich für Elite-Proxys

Im Folgenden werden drei Hauptkategorien von Proxys im Internet vorgestellt.

  • Elite-Proxys
  • Anonyme Proxys
  • Transparente Proxys

Elite-Proxys sind unter diesen Proxys die beste Option, da sie Erkennungen verhindern und Beschränkungen umgehen können. Mit einem Elite-Proxy können Sie nur die Kopfzeile REMOTE_ADDR senden, während Sie die anderen Kopfzeilen leer lassen. Auf diese Weise können Sie mit diesen Proxys eine optimale Privatsphäre erreichen.

Ein transparenter Proxy hingegen gibt Ihre IP-Adresse preis und sendet Ihre echte IP-Adresse über den HTTP_VIA-Header und den HTTP_X_FORWARDED_FOR-Header. Der anonyme Proxy gibt Ihre tatsächliche IP-Adresse nicht preis. Er sendet entweder die IP des Proxys oder lässt sie leer.

Kombinieren Sie IP-Rotation mit User-Agent-Rotation

Sie können die IP-Rotation nutzen, um mehrere IP-Adressen zu wechseln und eine Entdeckung zu vermeiden. Allerdings können einige Anti-Scraping-Maßnahmen solche Aktivitäten erkennen und Sie am Sammeln von Daten hindern. Daher müssen Sie neben den IP-Adressen auch die Benutzeragenten wechseln, um Ihre Erfolgschancen zu erhöhen. 

FAQs:

1. Wie verwendet man Proxys zum Drehen von IP-Adressen mit Python?
Mit Hilfe der Python-Bibliotheksanfragen können Sie Proxys ganz einfach rotieren. Laden Sie zunächst die Liste der kostenlosen Proxys von der Website ProxyScrapeherunter, erstellen Sie dann eine Funktion, mit der Sie den gesamten IP-Rotationsprozess durchführen können, verwenden Sie drittens die Lesefunktion, um die heruntergeladenen kostenlosen Proxys zu lesen, und führen Sie schließlich das Skript in einer for-Schleife aus, um den für eine Sitzung verfügbaren Proxy zu ermitteln.
2. Gibt es online einen Proxy Rotator?
Ja, es gibt online verfügbare Proxy-Rotatoren. Anstatt die Proxys Ihres Rechenzentrums manuell zu rotieren, können Sie diese Proxy-Rotatoren verwenden, um die schwere Arbeit zu erledigen. Aber diese Dienste sind kostenpflichtig. Wenn Sie einen kostenlosen Proxy-Rotator wollen, dann ist der Bau eines Rotators mit Hilfe von Python die beste Möglichkeit.
3. Wie helfen Proxys beim Web Scraping?
Proxys helfen dabei, Ihre ursprüngliche IP-Adresse zu maskieren und verwenden ihre IP-Adresse, um mehrere Anfragen an den Zielserver zu senden, um die erforderlichen Informationen zu erhalten. Beim Web-Scraping müssen Sie schnell viele Anfragen senden, was der Zielserver als abnormales Verhalten ansehen und Ihre IP-Adresse blockieren könnte. Ein Proxy hilft Ihnen, solche Szenarien zu vermeiden.

Schlussfolgerung

Es ist einfach, einen Proxy-Rotator in Python zu erstellen. Sie können zufällige Proxys generieren und dann eine Logik erstellen, um Daten von Websites abzugreifen. Neben den Proxys für Rechenzentren und Wohngebiete gibt es noch die Kategorien Elite-, anonyme und transparente Proxys. Elite-Proxys sind die beste Option, da sie von der Ziel-Website nur schwer erkannt werden können. Sie können anonyme Proxys verwenden, wenn Sie Ihre Privatsphäre im Internet schützen möchten. Schließlich können Sie auch transparente Proxys verwenden, die jedoch die geringsten Erfolgsaussichten bieten. Dieser Artikel soll ausführliche Informationen und Beispiele für die Verwendung von Proxys zum Drehen von IP-Adressen in Python mit einfachen Codierungsschritten liefern