
Sie lernen, wie man eine Proxy-IP zum Abfangen von Webseitendaten verwendet
Kürzlich fragte eine Menge Freunde Lao Zhang, mit Python zu parsen die Web-Seite immer 403 Fehler, wie man damit umgehen? Das ist so, wie wenn man auf dem Markt Lebensmittel kauft, man geht jeden Tag zum gleichen Stand, der Besitzer des Standes muss einen erkennen. Das Gleiche gilt für Webserver, die einfach den Stecker ziehen, wenn sie herausfinden, dass Sie sie häufig besuchen. Dieses Mal brauchen wir unsereProxy IP ProdigyEr kam, um zu helfen.
Warum müssen wir die Reptilien mit einer Weste versehen?
Nehmen Sie einen realen Fall: Xiao Wang zu einem Wetter-Website-Daten zu fangen, fing nur 200 Seiten auf der IP blockiert, und dann verwendet ipipgo dynamische Wohn-Proxy, jede Anfrage für eine andere Region der IP-Adresse, kann der Server nicht zwischen realen Menschen besuchen oder Crawler, die Daten reibungslos zur Hand zu unterscheiden.
Anfragen importieren
von bs4 importieren BeautifulSoup
proxies = {
'http': 'http://user:pass@gateway.ipipgo.com:9020',
'https': 'http://user:pass@gateway.ipipgo.com:9020'
}
response = requests.get('https://目标网站.com', proxies=proxies)
soup = BeautifulSoup(response.text, 'html.parser')
Hier ist Ihr Parsing-Code...
Worauf ist bei der Auswahl einer Proxy-IP zu achten?
Die Anbieter von Vermittlungsdiensten auf dem Markt sind eine bunte Mischung, Lao Zhang empfahl ipipgo, sich hauptsächlich auf drei Punkte zu konzentrieren:
1. echtes Residential IPIm Gegensatz zu Serverraum-IPs, die leicht identifizierbar sind
2. automatische Drehung: keine Sorgen über automatische IP-Änderungen auf Anfrage
3. die Unterstützung des ProtokollsGleichzeitige Unterstützung für HTTP/HTTPS/SOCKS5
Praktischer Leitfaden zur Vermeidung der Grube
Ein häufiger Fehler, den Neulinge machen, ist, den Proxy falsch zu konfigurieren, hier ist eine universelle Vorlage:
importiert Anfragen
von itertools importieren Zyklus
Proxy-Pool von ipipgo
proxy_list = [
"gateway.ipipgo.com:8001",
"gateway.ipipgo.com:8002", [ "gateway.ipipgo.com:8002
"gateway.ipipgo.com:8003"
]
proxy_pool = cycle(proxy_list)
for page in range(1, 100): current_proxy = next(proxy_pool)
aktuelles_proxy = nächstes(proxy_pool)
aktuell_proxy = next(proxy_pool)
response = requests.get(
url=f "https://目标网站.com/page/{page}", proxies={"http": f "https://目标网站.com/page/{current_proxy}", }
proxies={"http": f "http://{aktueller_proxy}"}, timeout=5, current_proxy = next(proxy_pool)
timeout=5
)
Parsen des Codes...
except.
print(f"{current_proxy} ist fehlgeschlagen, automatische Umschaltung auf den nächsten.")
Häufig gestellte Fragen QA
F: Was soll ich tun, wenn ich einen Proxy verwende und trotzdem blockiert werde?
A: Prüfen Sie zwei Dinge: 1. ob der Request-Header User-Agent gesetzt werden soll 2. ob die Zugriffshäufigkeit zu hoch ist, es wird empfohlen, dass der Code time.sleep(2) hinzufügen
F: Wie kann ich am besten ein gutes Angebot für ipipgo-Proxys bekommen?
A: Für Crawler, wählen Sie das Dynamic Residential IP Paket, neue Benutzer haben eine 3-tägige Testphase. Enterprise-Benutzer denken Sie daran, den exklusiven IP-Pool zu wählen, um Abstürze mit anderen zu vermeiden!
F: Kann eine HTTPS-Website keine Daten abfangen?
A: Bei der Anfrage, sowohl die http- als auch die https-Proxy-Adresse zu konfigurieren, verwenden viele Leute nur eine
Upgrade-Spiel-Tipps
Sie können es zusammen mit Selenium verwenden, wenn Sie auf Websites mit starkem Anti-Climbing stoßen:
von selenium import webdriver
Optionen = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://gateway.ipipgo.com:9020')
driver = webdriver.Chrome(options=options)
driver.get("https://目标网站.com")
Hier verwenden wir BeautifulSoup zum Parsen von driver.page_source
Die letzte nörgelnden Satz, wählen Sie die Proxy-IP ist wie die Suche nach dem Objekt, müssen Sie eine zuverlässige finden. ipipgo für ein halbes Jahr verwendet, die Stabilität von mehr als 90%. Vor allem ihre intelligente Routing-Funktion, kann automatisch mit dem schnellsten Knoten, als manuelle Umschaltung viel mehr Mühe. Denken Sie daran, nicht auf den freien Agenten, leichte Datenlecks, schwere Account-Diebstahl, der Verlust ist es nicht wert!

