Fortgeschrittene Techniken für die Proxy-Rotation mit Python

Pichai Nurjanah
Geschrieben von
Pichai Nurjanah

Wählen und kaufen Sie Proxys

Fortgeschrittene Techniken für die Proxy-Rotation mit Python
0 Kommentare

Bei umfangreichen Web-Scraping- oder Data-Mining-Aufgaben ist die Schaffung eines effizienten Proxy-Rotationsmechanismus von entscheidender Bedeutung. Während die frühen Phasen von Web-Scraping-Projekten oder Crawls im minimalen Maßstab mit einer Grundeinrichtung ausreichen könnten, entsteht die eigentliche Herausforderung bei der Skalierung. Um Risiken wie IP-Blockierung zu mindern und die Robustheit Ihrer Scraping-Infrastruktur sicherzustellen, ist die Verwendung eines ausgefeilten Proxy-Rotationssystems unerlässlich.

Für solche Zwecke ist die Nutzung eines professionellen Proxy-Dienstleisters wie OneProxy von unschätzbarem Wert. Mit einem vielfältigen Pool an Proxyservern im Rechenzentrum können solche Dienste die Zuverlässigkeit und Effizienz Ihrer Scraping-Aufgaben erheblich verbessern.

Im Folgenden befassen wir uns mit der Entwicklung eines fortschrittlicheren Proxy-Rotators unter Verwendung von Python und Beautiful Soup, wobei wir die Dienste von OneProxy für optimale Ergebnisse nutzen.

Proxy-Rotation mit Python

Vorläufige Einrichtung

Bevor Sie beginnen, stellen Sie sicher, dass Sie Beautiful Soup und das haben requests Bibliothek, die in Ihrer Python-Umgebung installiert ist. Mit diesen Tools können Sie HTML-Inhalte analysieren und HTTP-Anfragen einfach verwalten.

Unser Proxy-Rotationsskript ruft öffentliche Proxys aus dem kostenlosen Proxy-Pool von OneProxy ab, auf den Sie unter zugreifen können Kostenlose OneProxy-Proxyliste. Diese Liste wird regelmäßig aktualisiert und bietet eine neue Auswahl an Proxys für verschiedene Anforderungen.

Grundlegender Abrufcode

Zuerst müssen wir den Basiscode erstellen, um den HTML-Inhalt aus der kostenlosen Proxy-Liste von OneProxy abzurufen. Wir verwenden einen User-Agent-String, um einen Webbrowser zu emulieren, was dabei hilft, grundlegende User-Agent-basierte Bot-Erkennungen zu umgehen.

# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
url = https://oneproxy.pro/free-proxy/

def fetch_proxies(url):
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) ' +
        'AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
    }
    response = requests.get(url, headers=header)
    return response.content

Diese Funktion ruft einfach den HTML-Inhalt von der bereitgestellten URL ab.

Parsen der Proxy-Liste

Der BeautifulSoup Die Bibliothek analysiert den HTML-Inhalt, um die Proxys zu extrahieren. Die Proxys werden normalerweise in einer Tabellenstruktur auf der Webseite aufgelistet und durch bestimmte HTML-Tags und -Attribute identifiziert.

def parse_proxies(html_content):
    soup = BeautifulSoup(html_content, 'lxml')
    proxy_table = soup.select_one('#proxy-list-table')  # Replace with the correct ID
    proxies = []
    for row in proxy_table.select('tr'):
        columns = row.select('td')
        if columns:
            ip, port = columns[0].get_text(), columns[1].get_text()
            proxies.append({'ip': ip, 'port': port})
    return proxies

Rotierende Proxys

Die folgende Funktion orchestriert die Proxy-Rotation, indem sie zufällig einen verfügbaren Proxy aus der abgerufenen Liste auswählt:

from random import choice

def rotate_proxies(proxies):
    if proxies:
        return choice(proxies)
    else:
        return None

Alles zusammenfügen

Durch die Kombination aller Funktionen integriert das endgültige Skript das Abrufen, Parsen und Rotieren von Proxys und bietet so ein nahtloses Proxy-Rotationssystem.

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from random import choice

# Functions previously defined: fetch_proxies, parse_proxies, rotate_proxies

proxies = []  # This will hold our list of proxies

def refresh_proxies():
    global proxies
    proxies = parse_proxies(fetch_proxies('https://oneproxy.pro/free-proxy/'))

def get_random_proxy():
    if not proxies:
        refresh_proxies()
    return rotate_proxies(proxies)

# Main execution
refresh_proxies()
proxy = get_random_proxy()
print(proxy['ip'], proxy['port'])

Professionelle Skalierung mit OneProxy

Für Produktionsumgebungen, in denen der Umfang Tausende von Anfragen umfasst, reichen kostenlose Proxy-Pools aus Gründen der Zuverlässigkeit und Geschwindigkeit möglicherweise nicht aus. Zu diesem Zeitpunkt a rotierender Proxy-Dienst wird unverzichtbar.

OneProxy bietet eine robuste Lösung mit Funktionen wie:

  • Globale Hochgeschwindigkeits-Proxys: Millionen von Rechenzentrums-Proxys weltweit sorgen für unterbrechungsfreie und schnelle Verbindungen.
  • Automatische IP-Rotation: IP-Adressen werden nahtlos rotiert, um Erkennung und Sperren zu verhindern.
  • User-Agent-String-Rotation: Imitiert Anfragen von verschiedenen Webbrowsern und Versionen und verbessert so die Unentdeckbarkeit von Bots.
  • CAPTCHA-Lösung: Integriert Technologie zum automatischen Lösen von CAPTCHAs und optimiert so den Scraping-Prozess.

Mit OneProxy haben Kunden die Herausforderungen der IP-Blockierung erfolgreich gemeistert und dadurch ihre Web-Datenextraktionsprozesse optimiert.

Die Dienste von OneProxy sind vielseitig und können in jeder Programmiersprache implementiert werden, um ein breites Spektrum an Projekten und Anforderungen abzudecken.

Sonderangebot: Erleben Sie die Leistungsfähigkeit der professionellen Proxy-Rotation mit OneProxy. Beginnen Sie mit 50.000 kostenlosen Anfragen

Kaufen Sie rotierende Proxys

HINTERLASSEN SIE EINEN KOMMENTAR

Rechenzentrums-Proxys
Geteilte Proxys

Eine große Anzahl zuverlässiger und schneller Proxyserver.

Beginnt um$0.06 pro IP
Rotierende Proxys
Rotierende Proxys

Unbegrenzt rotierende Proxys mit einem Pay-per-Request-Modell.

Beginnt um$0.0001 pro Anfrage
Private Proxys
UDP-Proxys

Proxys mit UDP-Unterstützung.

Beginnt um$0.4 pro IP
Private Proxys
Private Proxys

Dedizierte Proxys für den individuellen Gebrauch.

Beginnt um$5 pro IP
Unbegrenzte Proxys
Unbegrenzte Proxys

Proxyserver mit unbegrenztem Datenverkehr.

Beginnt um$0.06 pro IP
Sind Sie jetzt bereit, unsere Proxy-Server zu nutzen?
ab $0.06 pro IP