Feedparser Python:有没有办法处理连接错误?

时间:2016-06-14 13:13:24

标签: python http-error feedparser

我在谈论HTTP错误,例如" 404 Not Found"。我阅读了文档,但没有找到任何可以帮助我的内容。

1 个答案:

答案 0 :(得分:0)

Feedparser返回status属性中的HTTP状态代码(如https://pythonhosted.org/feedparser/reference-status.html中所述),您可以检查然后处理,但需要:

>>> import feedparser
>>> nonfeed = feedparser.parse('http://example.com/notafeed')
>>> nonfeed.status
404
>>> feed = feedparser.parse('http://stackoverflow.com/feeds/')
>>> feed.status
200

另见documentation on "HTTP Redirects"。所有HTTP标头都在headers属性中返回,这对于错误报告非常有用。

即使没有HTTP错误,也可能存在一些解析错误。虽然feedparser在接受的内容方面非常宽松,但如果遇到格式错误的Feed,它会设置bozo flag(并在bozo_exception中添加错误说明):

>>> feed.bozo
False
>>> nonfeed.bozo
1
>>> nonfeed.bozo_exception
SAXParseException('syntax error',)