Umgeleitete URL mithilfe der Python Requests Library abrufen
Im Bereich Web Scraping und Automatisierung ist es oft notwendig, die auftretenden Weiterleitungen zu verfolgen beim Zugriff auf eine Webseite. Die Python Requests-Bibliothek bietet umfassende Funktionen zum Verwalten von HTTP-Anfragen, einschließlich der Möglichkeit, durch Weiterleitungen zu navigieren. In diesem Artikel soll erläutert werden, wie die umgeleitete URL mithilfe der Requests-Bibliothek abgerufen werden kann, um eine in der Community gestellte Anfrage zu beantworten.
Problem:
Innerhalb eines Skripts wird die Funktion „allow_redirects =True-Flag ist gesetzt, um Weiterleitungen automatisch zu folgen. Der Benutzer möchte jedoch die endgültige URL bestimmen, an die die Anfrage weitergeleitet wird. Es stellt sich die Frage: Wie kann man diese Informationen programmgesteuert erhalten?
Lösung:
Die Lösung liegt in der Verwendung des von Requests bereitgestellten Attributs „response.history“. Dieses Attribut speichert eine Liste von Antworten, die den gesamten Weg der Weiterleitungen zum endgültigen Ziel umfassen. Um auf die endgültige URL zuzugreifen, kann die Eigenschaft „response.url“ verwendet werden.
Hier ist ein Codeausschnitt, der den Prozess demonstriert:
response = requests.get(someurl) if response.history: print("Request was redirected") for resp in response.history: print(resp.status_code, resp.url) print("Final destination:") print(response.status_code, response.url) else: print("Request was not redirected")
Demo:
Betrachten Sie das folgende Beispiel, bei dem eine Anfrage an eine Website gestellt wird, die für die Ausführung mehrerer Aufgaben konfiguriert ist Weiterleitungen:
import requests response = requests.get('http://httpbin.org/redirect/3') for resp in response.history: print(resp.status_code, resp.url) print(response.status_code, response.url)
Ausgabe:
302 http://httpbin.org/redirect/3 302 http://httpbin.org/redirect/2 302 http://httpbin.org/redirect/1 200 http://httpbin.org/get
Wie aus der Ausgabe hervorgeht, protokolliert der Code erfolgreich die Statuscodes und URLs jeder Weiterleitung sowie das endgültige Ziel.
Das obige ist der detaillierte Inhalt vonWie kann ich umgeleitete URLs mithilfe der Python Requests-Bibliothek abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!