2016-07-28 31 views
1

HTTP-Fehler 403: Forbidden wird mit einem der beiden folgenden Befehle generiert.Python 3: empfangen 403: verbotener Fehler bei Verwendung der Anfrage

requests.get('http://www.allareacodes.com')

urllib.request.urlopen('http://www.allareacodes.com')

aber ich bin in der Lage diese Webseite in Chrom zu durchsuchen und seine Quelle zu überprüfen. Außerdem ist wget in meinem Cygwin auch in der Lage, die HTML-Quelle zu greifen.

weiß jemand, wie man die Quelle dieser Website mit Paketen in Python allein ergreift?

Antwort

1

Sie haben Fehler in Ihrem Code für Anfragen. Es sollte sein:

import requests 
r = requests.get('http://www.allareacodes.com') 
print(r.text) 

In Ihrem Fall jedoch die Website hat eine „noindex“ Datei, die Skripte aus immer die rohen HTML-Daten hält. Als eine Lösung, fälschen Sie einfach Ihre Überschriften, damit die Web site denkt, dass Sie ein tatsächlicher Benutzer sind.

Beispiel:

import requests 
r = requests.get('http://www.allareacodes.com', headers={ 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" 
}) 
print(r.text) 
+0

Dank sehr viel! Ich werde das Dokument für die Header-Option überprüfen. – user6651227