Wie erhalte ich dynamisch einen IP-Proxy?
Wir verwenden häufig IP-Proxys, um die tatsächliche IP-Adresse beim Web-Crawling, bei der Datenerfassung oder zum Schutz der Privatsphäre zu verbergen. Durch den dynamischen Bezug von IP-Proxys können wir besser mit den Anforderungen von IP-Sperren oder häufigen IP-Wechseln umgehen. Lassen Sie uns also lernen, wie man einen IP-Proxy dynamisch abruft.
In Python können wir die requests-Bibliothek und die beautifulsoup-Bibliothek verwenden, um dynamisch IP-Proxys zu erhalten. Hier ist ein einfaches Beispiel:
"ipipgothon
Einfuhrgesuche
von bs4 importieren BeautifulSoup
def get_proxy().
url = 'https://www.shenlongip.com/'
headers = {
User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/ 58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
proxy_list = []
for tr in soup.find_all('tr')::
if tr.find_all('td'):.
ip = tr.find_all('td')[1].text
port = tr.find_all('td')[2].text
protocol = tr.find_all('td')[5].text
proxy_list.append(f'{protocol}://{ip}:{port}')
return proxy_list
“`
Der obige Beispielcode leitet eine Anfrage an die ipipgo-Proxy-Website ein, um die Proxy-IP-Adresse abzurufen und sie in die Liste einzutragen. In der Praxis können wir auch eine zeitgesteuerte Aufgabe hinzufügen, um die Proxy-IP in regelmäßigen Abständen zu erhalten, um die Funktion der dynamischen Beschaffung von IP-Proxys zu erreichen.
ip proxy einrichten
Nachdem wir den IP-Proxy erhalten haben, müssen wir ihn für Crawler oder andere Webanfragen einrichten. In Python können IP-Proxys auf die folgenden Arten eingerichtet werden:
"ipipgothon
Einfuhrgesuche
def use_proxy().
proxy_list = get_proxy() # Angenommen, get_proxy() ist die Funktion zum Abrufen des IP-Proxys
url = 'http://example.com'
for proxy in proxy_list:
versuchen.
response = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=5)
print(f'Erfolgreicher Zugriff über Proxy {proxy}: {response.status_code}')
Pause
except requests.exceptions.RequestException as e:.
print(f'Using proxy {proxy} Access failed: {e}')
“`
Im obigen Beispiel erhalten wir zunächst eine Liste von Proxy-IPs, durchlaufen dann die Liste und initiieren eine Web-Anfrage mit Hilfe der requests-Bibliothek. In der Anfrage setzen wir den IP-Proxy, indem wir den Parameter proxies übergeben. Wenn die Anfrage erfolgreich war, wird die Zugriffsnachricht gedruckt und die Schleife beendet; andernfalls wird eine Ausnahme abgefangen und wir fahren mit dem Versuch der nächsten Proxy-IP fort.
Mit dem obigen Codebeispiel können wir ganz einfach einen IP-Proxy einrichten und eine IP-Adresse dynamisch beziehen, um besser mit Netzwerkanfragen fertig zu werden, bei denen die IP blockiert ist oder geändert werden muss.