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!
Esto funciona en Python 2.x.
Para Python 3 mira aquí:
http://docs.python.org/py3k/library/urllib.request.html?highlight=urllib#urllib.request.urlopen
import urllib.request
with urllib.request.urlopen("http://www.python.org") as url:
s = url.read()
#I''m guessing this would output the html source code?
print(s)
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í.