Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich umgeleitete URLs mithilfe der Python Requests-Bibliothek abrufen?

Wie kann ich umgeleitete URLs mithilfe der Python Requests-Bibliothek abrufen?

Susan Sarandon
Freigeben: 2024-11-16 11:38:03
Original
345 Leute haben es durchsucht

How to retrieve redirected URLs using the Python Requests library?

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")
Nach dem Login kopieren

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)
Nach dem Login kopieren

Ausgabe:

302 http://httpbin.org/redirect/3
302 http://httpbin.org/redirect/2
302 http://httpbin.org/redirect/1
200 http://httpbin.org/get
Nach dem Login kopieren

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!

Quelle:php.cn
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