In diesem Artikel wird hauptsächlich beschrieben, wie das Problem des Urlopen-Fehlers in Python3 urllib gelöst werden kann Die relevanten Informationen werden meiner Meinung nach für alle, die sie benötigen, einen Blick darauf werfen
Vorwort
Ich habe kürzlich die Python-Version aktualisiert und wollte einen Crawler schreiben. Da habe ich unerwartet festgestellt, dass das Attribut urlopen nicht in der urllib-Bibliothek vorhanden ist, also habe ich es gegoogelt und die Lösung zusammengefasst
Das Problem tritt auf
AttributeError: 'module' object has no Attribut 'urlopen'
Lösung des Problems
Werfen wir zunächst einen Blick auf die Erklärung des offiziellen Dokuments :
a new urllib package was created. It consists of code from urllib, urllib2, urlparse, and robotparser. The old modules have all been removed. The new package has five submodules: urllib.parse, urllib.request, urllib.response, urllib.error, and urllib.robotparser. The urllib.request.urlopen() function uses the url opener from urllib2. (Note that the unittests have not been renamed for the beta, but they will be renamed in the future.)
Das heißt, die offizielle Version 3.0 hat die fünf Module, einschließlich urllib2 und urlparse, in urllib integriert, was die korrekte Art ist, sie zu verwenden
Ergebnisdiagramm:
import urllib.request url="http://www.baidu.com" get=urllib.request.urlopen(url).read() print(get)
Tatsächlich können Sie die Kodierung zum Lesen des Quellcodes auch auf utf-8 ändern herausgenommen ist korrekter, wird aber im Extrakapitel nicht mehr erwähnt
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Lösung für den Urlopen-Fehler in Python3 urllib. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!