libreria headers has attribute python python-3.x urllib

headers - urllib.urlencode python 3



AttributeError: el objeto ''module'' no tiene el atributo ''urlopen'' (5)

Estoy tratando de usar Python para descargar el código fuente HTML de un sitio web, pero recibo este error.

Rastreo (llamadas recientes más última):
Archivo "C: / Users / Sergio.Tapia / Documents / NetBeansProjects / DICParser / src / WebDownload.py", línea 3, en el archivo = urllib.urlopen (" http://www.python.org ") AttributeError: ''module ''objeto no tiene atributo'' urlopen ''

Estoy siguiendo la guía aquí: 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)

Estoy usando Python 3, gracias por la ayuda!



Para obtener '' dataX = urllib.urlopen (url) .read () '' trabajando en python3 (esto hubiera sido correcto para python2) solo debes cambiar 2 pequeñas cosas.

1: La declaración urllib en sí (agregue la .request en el medio):

dataX = urllib.request.urlopen(url).read()

2: La declaración de importación que lo precede (cambie de ''import urlib'' a:

import urllib.request

Y debería funcionar en python3 :)


Una solución compatible con Python 2 + 3 es:

import sys if sys.version_info[0] == 3: from urllib.request import urlopen else: # Not Python 3 - today, it is most likely to be Python 2 # But note that this might need an update when Python 4 # might be around one day from urllib import urlopen # Your code where you can use urlopen with urlopen("http://www.python.org") as url: s = url.read() print(s)


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


import urllib.request as ur s = ur.urlopen("http://www.google.com") sl = s.read() print(sl)

En Python v3, la "urllib.request" es un módulo en sí mismo, por lo tanto, "urllib" no se puede usar aquí.