Seite 1 von 1
aktuelle url abfragen
Verfasst: Mittwoch 28. August 2024, 10:20
von forumseeker
Hallo!
ich bin totaler Python-Anfänger, will aber folgendes programmieren.
Ein user geht auf eine Internet-Seite und wird von da weitergeleitet. Ich möchte die weitergeleitete Internet-Seite auslesen und dann weiterverarbeiten, sie also in einer Variable speichern.
Wie geht das?
Gruss,
Andreas
Re: aktuelle url abfragen
Verfasst: Mittwoch 28. August 2024, 11:01
von DeaD_EyE
Code: Alles auswählen
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def root():
return """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>/</title>
</head>
<body>
<a href="target">Link zu target</a>
</body>
</html>
"""
@app.route("/target")
def target():
referer = request.headers.get("Referer", "kein Referer gefunden")
return f"""
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="refresh" content="5; url={referer}">
<title>target</title>
</head>
<body>
<p>Weitergeleitet von {referer}</p>
<!-- funktioniert nur, wenn man einen referer hat -->
<p>Leite in 5 Sekunden wieder um zum referer um...</p>
</body>
</html>
"""
Ich habs mal unter Windows getestet. Flask musst du vorher installieren. Am besten in einem venv.
Das Script hatte ich einfach a.py genannt.
Templates habe ich mit Absicht nicht genutzt, um das wesentliche zu zeigen.
Der Referer ist im http-header des Clients, der den Request an den Webserver sendet.
Wenn der Header fehlt, dann kann man den Referer nicht erfahren. Manche blockieren aktiv den Referer, um weniger Spuren zu hinterlassen.
Der Referer wird normalerweise gesetzt, wenn man einen Link anklickt. Die komplette URL steht dann im Referer.
Re: aktuelle url abfragen
Verfasst: Mittwoch 28. August 2024, 11:51
von sparrow
Ich glaube, der Threadstarter möchte, dass der Benutzer in seinem Beispiel durch ein Programm ersetzt wird.
Dann wäre das Stichwort crawler und requests ein möglicherweise passendes Modul.
Re: aktuelle url abfragen
Verfasst: Mittwoch 28. August 2024, 21:35
von imonbln
forumseeker hat geschrieben: Mittwoch 28. August 2024, 10:20
Ich möchte die
weitergeleitete Internet-Seite auslesen und dann weiterverarbeiten, sie also in einer Variable speichern.
Grundsätzlich sollte man für sowas die requests Libary verwenden, da kann man dann angeben ob die der Weiterleitung folgen soll oder nicht.
Das Response-objekt hat auch die Attribute url, wo die eigentliche URL drinsteht und content (die Von dir gesuchte Variable).
Code: Alles auswählen
import requests
response = requests.get("http://githib.com", allow_redirects=True)
response.raise_for_status()
print(response.content)