有关通用Feed解析器的问题

时间:2010-06-22 08:32:00

标签: python feedparser

我遇到了一个问题,即抓取了我抓过的几个博客Feed中的内容。

我不确定是什么原因,但通过使用feedparser解析一个或两个博客会返回给我这个特殊的错误:

results = feedparser.parse(url)

  ent = []

  for entry in results.entries:
     e = {}
     e['title'] = entry.title
     e['content'] = entry.content[0].value
  

对象没有属性'content'

  

对象没有属性'link'

其他我的其他博客并非如此。空条目内容会导致这个吗?

1 个答案:

答案 0 :(得分:1)

Feed中使用的XML标记与feedparser中条目的可用属性之间存在映射。查看导致问题的其中一个Feed的来源,并查看它使用的标记。您可能会发现它不包含条目的内容,或者链接位于uid而非link的字段中。

然后,您需要编写代码来处理细微变化,方法是使用try / catch或使用hasattr检查特定属性。

如果您发布有关其中一个Feed的链接,我可能会提供更多建议。