188 votes

AttributeError : L'objet 'module' ne possède pas d'attribut 'urlopen'.

J'essaie d'utiliser Python pour télécharger le code source HTML d'un site Web, mais je reçois cette erreur.

Traceback (most recent call last):  
    File "C:\Users\Sergio.Tapia\Documents\NetBeansProjects\DICParser\src\WebDownload.py", line 3, in <module>
     file = urllib.urlopen("http://www.python.org")
AttributeError: 'module' object has no attribute 'urlopen'

Je suis le guide ici : http://www.boddie.org.uk/python/HTML.html

import urllib

file = urllib.urlopen("http://www.python.org")
s = file.read()
f.close()

#I'm guessing this would output the html source code?
print(s)

J'utilise Python 3.

0voto

Vasyl Lyashkevych Points 1321

L'une des façons possibles de le faire :

import urllib
...

try:
    # Python 2
    from urllib2 import urlopen
except ImportError:
    # Python 3
    from urllib.request import urlopen

0voto

Rajat Shukla Points 1

Utilisez le tiers six module pour rendre votre code compatible entre Python2 et Python3.

from six.moves import urllib
urllib.request.urlopen("<your-url>")

-3voto

imgResp = urllib3.request.RequestMethods.urlopen(url)

Ajouter ceci RequestMethods avant d'utiliser urlopen

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X