Wieder das urllib.Fehler.HTTPError: HTTP Error 400: Bad Request
Hy!
Ich versuchte, Sie zu öffnen web-Seite, die normalerweise das öffnen im browser, aber python nur schwört und nicht arbeiten wollen.
import urllib.request, urllib.error
f = urllib.request.urlopen('http://www.booking.com/reviewlist.html?cc1=tr;pagename=sapphire')
Und einen anderen Weg
import urllib.request, urllib.error
opener=urllib.request.build_opener()
f=opener.open('http://www.booking.com/reviewlist.html?cc1=tr;pagename=sapphi
re')
Beide Möglichkeiten geben, eine Art des Fehlers:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python34\lib\urllib\request.py", line 461, in open
response = meth(req, response)
File "C:\Python34\lib\urllib\request.py", line 571, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python34\lib\urllib\request.py", line 493, in error
result = self._call_chain(*args)
File "C:\Python34\lib\urllib\request.py", line 433, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 676, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "C:\Python34\lib\urllib\request.py", line 461, in open
response = meth(req, response)
File "C:\Python34\lib\urllib\request.py", line 571, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python34\lib\urllib\request.py", line 499, in error
return self._call_chain(*args)
File "C:\Python34\lib\urllib\request.py", line 433, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 579, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
Irgendwelche Ideen?
InformationsquelleAutor Wanu | 2014-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser URL zu tun scheint, Benutzer-agent-Zeichenfolge überprüfung. Wenn ich die Lautstärke meiner user-agent-string in Firefox
Python-urllib/2.7
, schlägt es mit derBad Request
Sie sehen.Als Sie mit
urllib
können Sie über den User-Agent nach dieser tutorialSo, ich veränderte version = 'Mein neuer User-Agent' , version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; es; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11' . Und der Fehler ist verschwunden! Sehr großen Dank! Ich habe auf der Suche nach einer Lösung für dieses problem für eine lange Zeit, Sie haben mir sehr geholfen!
InformationsquelleAutor Andy
Sind Sie wahrscheinlich die Blockierung der Tatsache, dass es nicht aus einem browser. Sie wahrscheinlich benötigen Sie eine gültige Benutzer-Agent-header oder so etwas.
Verwendung von Anfragen, das funktioniert:
requests
Bibliothek! Gespeichert mein Speck!InformationsquelleAutor Emjay