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.

3voto

Kamran Points 31
import urllib.request as ur

filehandler = ur.urlopen ('http://www.google.com')
for line in filehandler:
    print(line.strip())

1voto

rocksyne Points 310

Pour python 3, essayez quelque chose comme ceci :

import urllib.request
urllib.request.urlretrieve('http://crcv.ucf.edu/THUMOS14/UCF101/UCF101/v_YoYo_g19_c02.avi', "video_name.avi")

Il téléchargera la vidéo dans le répertoire de travail actuel.

J'ai reçu de l'aide de ICI

1voto

Banjali Points 11

Solution pour python3 :

from urllib.request import urlopen

url = 'http://www.python.org'
file = urlopen(url)
html = file.read()
print(html)

0voto

jason.lu Points 1

Si votre code utilise Python version 2.x, vous pouvez procéder comme suit :

from urllib.request import urlopen
urlopen(url)

Au fait, je suggère un autre module appelé requests qui est plus facile à utiliser. Vous pouvez utiliser pip l'installer, et l'utiliser comme ceci :

import requests
requests.get(url)
requests.post(url)

0voto

user11649630 Points 13
import urllib
import urllib.request
from bs4 import BeautifulSoup

with urllib.request.urlopen("http://www.newegg.com/") as url:
    s = url.read()
    print(s)
soup = BeautifulSoup(s, "html.parser")
all_tag_a = soup.find_all("a", limit=10)

for links in all_tag_a:
    #print(links.get('href'))
    print(links)

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