So verwenden Sie Proxys in Python

Linda Hamilton
Freigeben: 2024-11-16 12:00:05
Original
880 Leute haben es durchsucht

How to Use Proxies in Python

Wenn Sie schon eine Weile mit Python arbeiten, insbesondere im speziellen Fall des Daten-Scrapings, sind Sie wahrscheinlich auf Situationen gestoßen, in denen Sie beim Versuch, Ihre Daten abzurufen, blockiert sind wollen. In einer solchen Situation ist es hilfreich zu wissen, wie man einen Proxy verwendet.

In diesem Artikel untersuchen wir, was Proxys sind, warum sie nützlich sind und wie Sie sie mithilfe der Bibliotheksanforderung in Python verwenden können.

Was ist ein Proxy?

Beginnen wir von vorne mit der Definition, was ein Proxy ist.

Sie können sich einen Proxyserver als „Mittler“ zwischen Ihrem Computer und dem Internet vorstellen. Wenn Sie eine Anfrage an eine Website senden, wird die Anfrage zunächst über den Proxyserver geleitet. Der Proxy leitet Ihre Anfrage dann an die Website weiter, empfängt die Antwort und sendet sie an Sie zurück. Durch diesen Vorgang wird Ihre IP-Adresse maskiert, sodass es so aussieht, als käme die Anfrage vom Proxyserver und nicht von Ihrem eigenen Gerät.

Verständlicherweise hat dies viele Konsequenzen und Vorteile. Es kann beispielsweise verwendet werden, um einige lästige IP-Einschränkungen zu umgehen oder die Anonymität zu wahren.

Warum einen Proxy beim Web Scraping verwenden?

Warum könnten Proxys beim Daten-Scraping hilfreich sein? Nun, wir haben bereits zuvor einen Grund angegeben. Sie können sie beispielsweise verwenden, um einige Einschränkungen zu umgehen.

Im speziellen Fall des Web Scrapings können sie also aus folgenden Gründen nützlich sein:

  • IP-Blockierung vermeiden: Websites überwachen häufig verdächtige Aktivitäten, beispielsweise wenn eine einzelne IP in kurzer Zeit zahlreiche Anfragen stellt. Durch die Verwendung von Proxys können Sie Ihre Anfragen auf mehrere IPs verteilen und so Blockierungen vermeiden.
  • Umgehung von geografischen Beschränkungen: Auf einige Inhalte kann nur von bestimmten Standorten aus zugegriffen werden, und Proxys können dazu beitragen, dass Sie den Eindruck erwecken, als würden Sie aus einem anderen Land auf die Website zugreifen.
  • Verbesserung der Privatsphäre: Proxys sind nützlich, um Ihre Scraping-Aktivitäten anonym zu halten, indem sie Ihre echte IP-Adresse verbergen.

So verwenden Sie einen Proxy in Python mithilfe von Anforderungen

Die Requests-Bibliothek ist eine beliebte Wahl für HTTP-Anfragen in Python und die Einbindung von Proxys in Ihre Anfragen ist unkompliziert.

Mal sehen wie!

Gültige Proxys erhalten

Das Wichtigste zuerst: Sie müssen gültige Proxys erhalten, bevor Sie sie tatsächlich verwenden können. Dazu haben Sie zwei Möglichkeiten:

  • Kostenlose Proxys: Sie können Proxys kostenlos von Websites wie Free Proxy List erhalten. Sie sind leicht zugänglich, können jedoch unzuverlässig oder langsam sein.
  • Kostenpflichtige Proxys: Dienste wie Bright Data oder ScraperAPI bieten zuverlässige Proxys mit besserer Leistung und Support, aber Sie müssen bezahlen.

Verwendung von Proxys mit Anfragen

Da Sie nun Ihre Proxy-Liste haben, können Sie mit deren Verwendung beginnen. Sie können beispielsweise ein Wörterbuch wie folgt erstellen:

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'https://proxy_ip:proxy_port',
}
Nach dem Login kopieren

Jetzt können Sie eine Anfrage über die Proxys stellen:

import requests

proxies = {
    'http': 'http://your_proxy_ip:proxy_port',
    'https': 'https://your_proxy_ip:proxy_port',
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
Nach dem Login kopieren

Um das Ergebnis Ihrer Anfrage zu sehen, können Sie die Antwort ausdrucken:

print(response.status_code)  # Should return 200 if successful
print(response.text)         # Prints the content of the response
Nach dem Login kopieren

Beachten Sie, dass bei einem reibungslosen Ablauf die Antwort die IP-Adresse des Proxyservers anzeigen sollte, nicht Ihre.

Proxy-Authentifizierung mit Anfragen: Benutzername und Passwort

Wenn Ihr Proxy eine Authentifizierung erfordert, können Sie dies auf verschiedene Arten handhaben.

Methode 1: Einschließen von Anmeldeinformationen in die Proxy-URL
Um den Benutzernamen und das Passwort zur Verwaltung der Authentifizierung in Ihrem Proxy einzugeben, können Sie Folgendes tun:

proxies = {
    'http': 'http://username:password@proxy_ip:proxy_port',
    'https': 'https://username:password@proxy_ip:proxy_port',
}
Nach dem Login kopieren

Methode 2: Verwendung von HTTPProxyAuth
Alternativ können Sie die HTTPProxyAuth-Klasse verwenden, um die Authentifizierung wie folgt zu handhaben:

from requests.auth import HTTPProxyAuth

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'https://proxy_ip:proxy_port',
}

auth = HTTPProxyAuth('username', 'password')

response = requests.get('https://httpbin.org/ip', proxies=proxies, auth=auth)
Nach dem Login kopieren

So verwenden Sie einen rotierenden Proxy für Anfragen

Die Verwendung eines einzelnen Proxys reicht möglicherweise nicht aus, wenn Sie zahlreiche Anfragen stellen. In diesem Fall können Sie einen rotierenden Proxy verwenden: Dieser ändert die Proxy-IP-Adresse in regelmäßigen Abständen oder auf Anfrage.

Wenn Sie diese Lösung testen möchten, haben Sie zwei Möglichkeiten: Proxys manuell mithilfe einer Liste rotieren oder einen Proxy-Rotationsdienst verwenden.

Sehen wir uns beide Ansätze an!

Verwenden einer Liste von Proxys

Wenn Sie eine Liste mit Proxys haben, können Sie diese wie folgt manuell rotieren:

import random

proxies_list = [
    'http://proxy1_ip:port',
    'http://proxy2_ip:port',
    'http://proxy3_ip:port',
    # Add more proxies as needed
]

def get_random_proxy():
    proxy = random.choice(proxies_list)
    return {
        'http': proxy,
        'https': proxy,
    }

for i in range(10):
    proxy = get_random_proxy()
    response = requests.get('https://httpbin.org/ip', proxies=proxy)
    print(response.text)
Nach dem Login kopieren

Verwendung eines Proxy-Rotationsdienstes

Dienste wie ScraperAPI übernehmen die Proxy-Rotation für Sie. Normalerweise müssen Sie nur die von ihnen bereitgestellte Proxy-URL aktualisieren und ein URL-Wörterbuch wie folgt verwalten:

proxies = {
    'http': 'http://your_service_proxy_url',
    'https': 'https://your_service_proxy_url',
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
Nach dem Login kopieren

Schlussfolgerungen

Die Verwendung eines Proxys in Python ist eine wertvolle Technik zum Web-Scraping, Testen und Zugriff auf geografisch eingeschränkte Inhalte. Wie wir gesehen haben, ist die Integration von Proxys in Ihre HTTP-Anfragen mithilfe der Bibliotheksanfragen ganz einfach.

Ein paar Abschiedstipps beim Scrapen von Daten aus dem Web:

  • Beachten Sie die Website-Richtlinien: Überprüfen Sie immer die robots.txt-Datei und die Nutzungsbedingungen der Website.
  • Behandeln Sie Ausnahmen: Netzwerkvorgänge können aus verschiedenen Gründen fehlschlagen. Stellen Sie daher sicher, dass Sie Ausnahmen behandeln und ggf. Wiederholungsversuche durchführen.
  • Sichern Sie Ihre Anmeldeinformationen: Wenn Sie authentifizierte Proxys verwenden, bewahren Sie Ihre Anmeldeinformationen sicher auf und vermeiden Sie es, sie fest in Ihre Skripts zu codieren.

Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Proxys in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage