Wie man einen Proxy in Python verwendet

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

Der Begriff "Proxy" begegnet uns häufig, wenn wir im Bereich der Informatik arbeiten. Wenn ein Computer mit dem Internet verbunden ist, erhält er eine eindeutige IP-Adresse (Internet Protocol), die den Computer und seinen geografischen Standort identifiziert. Ihr Computer sendet eine Anfrage, wenn er Informationen aus dem Internet benötigt. Die Anfrage ist

Inhaltsübersicht

Der Begriff "Proxy" begegnet uns häufig, wenn wir im Bereich der Informatik arbeiten. Wenn ein Computer mit dem Internet verbunden ist, erhält er eine eindeutige IP-Adresse (Internet Protocol), die den Computer und seinen geografischen Standort identifiziert. Ihr Computer sendet eine Anfrage aus, wenn er Informationen aus dem Internet benötigt. Die Anfrage wird an einen Zielcomputer gesendet, der die Art der angeforderten Informationen überprüft. Der Zielcomputer sendet die Informationen zurück, wenn er sie an unsere IP-Adresse weitergeben darf. Manchmal möchte der Computer die Informationen aus dem Internet abrufen, ohne identifiziert zu werden. Diese Informationen werden in der Regel blockiert, aber wir können sie mit Hilfe eines Proxys abrufen, der als Vermittler zwischen dem Client- und dem Server-Rechner fungiert.

Die Clients verwenden den Proxy-Server in der Regel, um Webseiten zu durchsuchen und Ressourcen anonym anzufordern, da er als Identifikationsfeld zwischen dem Client-Computer und dem Internet fungiert. 

Proxyserver sind mit der wachsenden Sorge um die Online-Sicherheit und den Datendiebstahl sehr beliebt geworden. Hier stellt sich die Frage, wie der Proxyserver mit der Sicherheit unseres Systems verbunden ist. Man kann sagen, dass ein Proxyserver eine zusätzliche Sicherheitsstufe zwischen unserem Server und der Außenwelt schafft. Diese zusätzliche Sicherheit hilft dabei, unser System vor einem Einbruch zu schützen. 

Wie benutzt man einen Proxy in Python?

Um Proxys mit den Python-Anfragen zu verwenden, müssen Sie die folgenden Schritte ausführen.

Anfragen importieren

Importieren Sie das Paket requests, bei dem es sich um eine einfache HTTP-Bibliothek handelt. Sie können mit diesem Paket problemlos Anfragen senden, ohne manuell Abfragezeichenfolgen zu Ihren URLs hinzufügen zu müssen. Sie können requests mit dem folgenden Befehl importieren.

Einfuhranträge

Ein Wörterbuch erstellen

Sie müssen ein Proxies-Wörterbuch erstellen, das die HTTP- und HTTPS-Verbindungen definiert. Sie können der Wörterbuchvariable einen beliebigen Namen wie "proxies" geben, der ein Protokoll auf die Proxy-URL abbildet. Außerdem müssen Sie die URL-Variable auf die Website setzen, von der Sie scrapen wollen.

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

Hier definiert das Wörterbuch die URL des Proxys für zwei verschiedene Protokolle, nämlich HTTP und HTTPS.

Erstellen Sie eine Antwortvariable

Sie müssen eine Antwortvariable erstellen, die eine der Abfragemethoden verwendet. Diese Methode benötigt zwei Argumente:

  • Die von Ihnen erstellte URL
  • Das von Ihnen definierte Wörterbuch
Antwort = requests.get(url,proxies = proxies)
print(response.json())

Die Ausgabe ist wie folgt:

Anfragen Methoden

Es gibt eine Reihe von Antragsmethoden wie:

  • GET - Ruft Informationen von einem bestimmten Server unter einer bestimmten URL ab. 
  • POST - Diese Methode fordert den angegebenen Webserver auf, die im Textkörper der Anforderungsnachricht enthaltenen Daten anzunehmen und zu speichern.
  • PUT - Er fordert an, dass die eingeschlossenen Daten unter der angegebenen URL gespeichert werden.
  • DELETE - Diese Methode sendet eine DELETE-Anfrage an die angegebene URL.
  • PATCH - Diese Anforderungsmethode wird vom HTTP-Protokoll unterstützt und nimmt partielle Änderungen an einer bestehenden Ressource vor. 
  • HEAD - Er sendet eine HEAD-Anfrage an die angegebene URL, wenn Sie den Inhalt der Datei nicht benötigen und nur die HTTP-Header oder den status_code abrufen wollen.

Sie können die nachstehende Syntax der Anforderungsmethoden verwenden, wenn die URL angegeben ist. Hier ist unsere URL die gleiche wie im obigen Code, d. h. https://httpbin.org/ip.

response = requests.get(url)
response = requests.post(url, data={"a": 1, "b": 2})
response = requests.put(url)
response = requests.delete(url)
response = requests.patch(url)
response = requests.head(url)
response = requests.options(url)

Proxy-Sitzungen

Wenn Sie die Daten von Websites, die Sitzungen verwenden, abrufen möchten, können Sie die folgenden Schritte ausführen.

Schritt#01

Importieren Sie die Anforderungsbibliothek.

Einfuhranträge

Schritt#02

Erstellen Sie ein Sitzungsobjekt, indem Sie eine Sitzungsvariable erstellen und diese auf die Methode requests Session() setzen. 

session = requests.Session()

session.proxies = {
   'http': 'http://10.10.10.10:8000',
   'https': 'http://10.10.10.10:8000',
}

url = 'http://mywebsite.com/example'

Schritt#03

Senden Sie die Sitzungsproxys über die Methode requests und übergeben Sie die URL als Argument.

Antwort = session.get(url)

Haupttypen von Proxys

Erörtern wir nun die beiden wichtigsten Arten von Stellvertretern, d. h.;

Statische ProxysRotierende Proxys

Statische Proxys

Wir können statische Proxys als die Internetprotokolle des Rechenzentrums definieren, die über einen Vertrag mit einem Internetdienstanbieter (ISP) zugewiesen werden. Sie sind so konzipiert, dass sie für eine bestimmte Zeit mit einem Proxy-Server verbunden bleiben. Der Name "statisch" bedeutet, dass wir so lange wie nötig als privater Nutzer mit derselben IP-Adresse arbeiten können. 

Kurz gesagt, mit der Verwendung von statischen Proxys erhalten wir die Geschwindigkeit von Proxys für Rechenzentren und die hohe Anonymität von Proxys für Privatpersonen. Außerdem können wir mit einem statischen Proxy die Rotation der IP-Adressen vermeiden, was seine Verwendung erheblich vereinfacht.

Die statischen IP-Dienste werden im Gegensatz zu regulären Rechenzentrums-Proxys nicht mit Hilfe virtueller Maschinen erstellt. Diese Proxys, die auch als Sticky-IP-Adressen bezeichnet werden, sehen für fast alle Websites wie echte Verbraucher aus. 

Rotierende Proxys

Wir können Proxy-Rotation als eine Funktion definieren, die unsere IP-Adresse bei jeder neuen Anfrage, die wir senden, ändert.

Wenn wir eine Website besuchen, senden wir eine Anfrage, die dem Zielserver eine Vielzahl von Daten, einschließlich unserer IP-Adresse, übermittelt. Wenn wir zum Beispiel mit einem Scraper Daten sammeln (um Leads zu generieren), senden wir viele solcher Anfragen. Der Zielserver wird also misstrauisch und sperrt sie, wenn die meisten Anfragen von derselben IP-Adresse kommen. 

Daher muss es eine Lösung geben, um unsere IP-Adresse bei jeder Anfrage, die wir senden, zu ändern. Diese Lösung ist ein rotierender Proxy. Um also den unnötigen Aufwand zu vermeiden, einen Scraper für rotierende IPs beim Web-Scraping zu bekommen, können wir rotierende Proxys bekommen und die Rotation unserem Provider überlassen.

Warum müssen Sie Proxys verwenden?

Im Folgenden werden die Gründe für die Verwendung verschiedener Arten von Proxys aufgeführt.

  • Social-Media-Manager schätzen Proxys, weil sie ihnen erlauben, an einem einzigen Server festzuhalten. Wenn sich Nutzer ständig mit wechselnden IP-Adressen bei ihren Konten anmelden, wird die Social-Media-Plattform misstrauisch und sperrt ihr Profil.
  • E-Commerce-Websites zeigen möglicherweise unterschiedliche Daten für Nutzer aus anderen Ländern und wiederkehrende Besucher an. Außerdem wird der Server alarmiert, wenn sich ein Käufer mehrmals von verschiedenen IP-Adressen aus bei seinem Konto anmeldet. Daher müssen wir für das Online-Shopping Proxys verwenden.
  • Wir brauchen Proxys für die manuelle Marktforschung, wenn ein Spezialist die benötigten Daten mit den Augen eines Nutzers von einem Ort aus überprüfen will. 
  • Die Anzeigenüberprüfung ermöglicht es den Werbetreibenden zu überprüfen, ob ihre Anzeigen auf den richtigen Websites angezeigt und von den richtigen Zielgruppen gesehen werden. Durch den ständigen Wechsel der IP-Adressen wird auf viele verschiedene Websites zugegriffen und somit die Anzeigen ohne IP-Sperren überprüft.
  • Beim Zugriff von bestimmten Standorten aus kann derselbe Inhalt anders aussehen oder gar nicht verfügbar sein. Die Verwendung von Proxys ermöglicht uns den Zugriff auf die erforderlichen Daten unabhängig von ihrem geografischen Standort. 
  • Wir können Proxys für den Datenzugriff verwenden, was die Browsing-Geschwindigkeit beschleunigt, da sie ein gutes Cache-System haben.

Schlussfolgerung

Bisher haben wir besprochen, dass ein Proxy als Relais zwischen dem Client- und dem Server-Rechner fungiert. Immer wenn Sie Informationen anfordern, sendet Ihr Computer diese Anforderung an den Proxy, der die Informationen dann über eine andere IP-Adresse an den Zielcomputer sendet. So bleibt Ihre IP-Adresse vertraulich. Außerdem können Sie Proxys mit dem Modul requests in Python verwenden und je nach Bedarf verschiedene Aktionen durchführen. Wenn Sie eine statische IP mit der Geschwindigkeit von Rechenzentrums-Proxys und der hohen Anonymität von Residential-Proxys benötigen, dann sind statische Proxys die richtige Wahl, da die IP-Adresse bei jeder neuen Anfrage unverändert bleibt. Im Gegensatz dazu bieten rotierende Proxys Vorteile beim Testen und Scraping.