Soy muy nuevo en python. Muy nuevo. He copiado el siguiente de un tutorialNameError: name 're' no está definido
#!/usr/bin/python
import re
from urllib import urlopen
from BeautifulSoup import BeautifulSoup
webpage = urlopen('http://feeds.huffingtonpost.com/huffingtonpost/LatestNews').read
patFinderTitle = re.compile('<title>(.*)</title>')
patFinderLink = re.compile('<link rel.*href="(.*)"/>')
findPatTitle = re.findall(patFinderTitle,webpage)
findPatLink = re.findall(patFinderLink,webpage)
listIterator = []
listIterator[:] = range(2,16)
for i in listIterator:
print findPatTitle[i]
print findPatLink[i]
print "\n"
me sale el error:
Traceback (most recent call last):
File "test.py", line 8, in <module>
patFinderTitle = re.compile('<title>(.*)</title>')
NameError: name 're' is not defined
¿Qué estoy haciendo mal?
Edición: He añadido import re
pero ahora sale el siguiente:
File "/scripts/_prod/test.py", line 13, in <module>
findPatTitle = re.findall(patFinderTitle,webpage)
File "/usr/lib64/python2.6/re.py", line 177, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
¿De qué tutorial copió esto? Está plagado de errores. – Johnsyweb
http://www.youtube.com/watch?v=Ap_DlSrT-iE&feature=related –
Luego debe comparar su código con el código que lo acompaña aquí: http://www.newthinktank.com/2010/11/python-2 -7-tutorial-pt-13-web-scraping /. Después de un poco de limpieza, descubrí que funciona. – Johnsyweb