Olá! Estou iniciando um sistema de web scraping e tentando pegar o conteúdo de algumas páginas de feeds com o seguinte código:
# -*- coding: utf-8 *-*
from urllib2 import urlopen
from xml.sax import make_parser, ContentHandler
class RSSHandler(ContentHandler):
def __init__(self):
ContentHandler.__init__(self)
self.__inItem = False
self.__inTitle = False
def characters(self, data):
if self.__inTitle:
print data
def startElement(self, tag, attrs):
if tag == "item":
self.__inItem = True
if tag == "title" and self.__inItem:
self.__inTitle = True
def endElement(self, tag):
if tag == "title" and self.__inTitle:
self.__inTitle = False
print("\n")
if tag == "item":
self.__inItem = False
def listFeedTitle(url):
infile = urlopen(url)
parser = make_parser()
parser.setContentHandler(RSSHandler())
parser.parse(infile)
#listFeedTitle("http://feeds.feedburner.com")
listFeedTitle("http://9gag.com/rss/site/feed.rss")
Só que obtenho o seguinte erro (mesmo com diferentes urls de feeds):
Traceback (most recent call last):
File "RSSHandler.py", line 39, in <module>
listFeedTitle("http://9gag.com/rss/site/feed.rss")
File "RSSHandler.py", line 33, in listFeedTitle
infile = urlopen(url)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 394, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 412, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1201, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1171, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
Não uso nenhum tipo de proxy e não consegui achar nada que resolvesse o problema. Alguém tem idéia do que pode ser?
Pergunta
KamillaaaH
Olá! Estou iniciando um sistema de web scraping e tentando pegar o conteúdo de algumas páginas de feeds com o seguinte código:
# -*- coding: utf-8 *-* from urllib2 import urlopen from xml.sax import make_parser, ContentHandler class RSSHandler(ContentHandler): def __init__(self): ContentHandler.__init__(self) self.__inItem = False self.__inTitle = False def characters(self, data): if self.__inTitle: print data def startElement(self, tag, attrs): if tag == "item": self.__inItem = True if tag == "title" and self.__inItem: self.__inTitle = True def endElement(self, tag): if tag == "title" and self.__inTitle: self.__inTitle = False print("\n") if tag == "item": self.__inItem = False def listFeedTitle(url): infile = urlopen(url) parser = make_parser() parser.setContentHandler(RSSHandler()) parser.parse(infile) #listFeedTitle("http://feeds.feedburner.com") listFeedTitle("http://9gag.com/rss/site/feed.rss")Só que obtenho o seguinte erro (mesmo com diferentes urls de feeds):Traceback (most recent call last): File "RSSHandler.py", line 39, in <module> listFeedTitle("http://9gag.com/rss/site/feed.rss") File "RSSHandler.py", line 33, in listFeedTitle infile = urlopen(url) File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen return _opener.open(url, data, timeout) File "/usr/lib/python2.7/urllib2.py", line 394, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 412, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1201, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1171, in do_open raise URLError(err) urllib2.URLError: <urlopen error [Errno 110] Connection timed out>Não uso nenhum tipo de proxy e não consegui achar nada que resolvesse o problema. Alguém tem idéia do que pode ser?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.