2012-03-23 71 views
1

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

>>> 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格式的问题?

回答

0

您正在将一个字典列表传递给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') 
+0

非常感谢吨哥们。你是对的。有效。 – Anshuma 2012-03-23 09:08:41

+0

请[关闭此问题](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – jpic 2012-03-23 09:35:33

+0

对不起,我的不好。我忘了这么做 – Anshuma 2012-03-23 09:46:35