Django и Feedparser - невозможно проанализировать URL-адреса, запрашиваемые из модели - PullRequest
1 голос
/ 23 марта 2012

По сути, я сохраняю несколько URL фидов в модели Django, и для анализа, URL-адреса, полученные из модели, не анализируются. Ниже описано, как я пытаюсь запросить модель и проанализировать URL с помощью 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  

Может кто-нибудь сказать мне, что происходит не так. Есть ли какие-либо проблемы с форматом строки или юникода?

1 Ответ

0 голосов
/ 23 марта 2012

Вы передаете список 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')
...