requests liefert beim Laden von Website-Quellcode 503 zurück

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mattb
User
Beiträge: 1
Registriert: Mittwoch 30. August 2023, 07:12

Guten Morgen,
ich möchte mittels requests den Quellcode einer Website laden.
Dafür verwende ich den folgenden Code:

Code: Alles auswählen

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}
response = requests.get(url_from_page_to_load, headers=headers)
print(response.status_code)
Als Response bekomme ich allerdings den Status Code 503 - Service Unavailable zurück.
Die Seite ist aber definitiv erreichbar.
Auf dem gleichen Host kann ich problemlos den Quellcode der Seite mittels wget herunterladen.

Die Notlösung wäre aktuell in Python wget auszuführen um den Quellcode in einer HTML-Datei zu speichern und diese in Pyhton dann einzulesen.
Ich würde es aber lieber direkt über requests machen...

Kann mir jemand weiterhelfen?
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@mattb: Bei der Notlösung muss man nicht über eine Datei gehen. Man kann ``wget`` auch mit ``-O -`` auf die Standardausgabe schreiben lassen und das im Python-Programm direkt abgreifen. Und immer dran denken: wenn man ``shell=True`` verwendet, macht man in der Regel etwas falsch. Dafür ist ``check=True`` normalerweise sinnvoll, solange man das nicht auf andere Weise extra behandelt.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn man das analysieren will, kann man zB mit wireshark anschauen, wie die verschiedenen Requests wirklich aussehen. Und die dann ggf. angleichen. Wobei es schon etwas seltsam ist.
Antworten