Django和Feedparser - 无法解析从模型查询的URL

时间:2012-03-23 05:39:56

标签: python django django-models feedparser

基本上,我在Django模型中保存了很少的feed url并且为了解析,我从模型中检索到的url,它没有被解析。以下是我尝试使用feedparser查询模型和解析URL的方法。

>>> from bit.models import *   
>>> url = feednfo.objects.filter(iD=1).values('feed_url')  
>>> url  
>>> [{'feed_url': u'http://www.popgadget.net/atom.xml'}]  
>>> import feedparser as fp  
>>> feed = fp.parse(url)  
>>> feed  
>>>{'feed': {}, 'bozo': 1, 'bozo_exception': TypeError('coercing to Unicode: need string or buffer, ValuesQuerySet found',), 'entries': []}  
>>> feed = fp.parse('http://www.popgadget.net/atom.xml')  
>>> feed.bozo  
>>>0  

谁能告诉我出了什么问题。 有关字符串或unicode格式的问题吗?

1 个答案:

答案 0 :(得分:0)

您正在将dict列表传递给feedparser.parse()。

这:

feed = fp.parse(url)  

就像:

feed = fp.parse([{'feed_url': u'http://www.popgadget.net/atom.xml'}])

应该是:

feed = fp.parse(url[0]['feed_url'])

就像:

feed = fp.parse(u'http://www.popgadget.net/atom.xml')