如何使用future来解析rss?

时间:2012-04-17 01:46:39

标签: python rss

我是python的新手......你被警告了。

我从http://wiki.python.org/moin/RssLibraries复制了一个示例,但我一直收到错误

"future_calls = [Future(feedparser.parse,rss_url) for rss_url in hit_list]
TypeError: __init__() takes exactly 1 argument (3 given)"

这是我的代码:

import feedparser
from futures import Future


hit_list = [ "http://feeds.reuters.com/news/artsculture", "http://feeds.reuters.com/reuters/healthNews" ] # list of feeds to pull down

# pull down all feeds
future_calls = [Future(feedparser.parse,rss_url) for rss_url in hit_list]
# block until they are all in
feeds = [future_obj() for future_obj in future_calls]

entries = []
for feed in feeds:
    entries.extend( feed[ "item" ] )
    sorted_entries = sorted(entries, key=lambda entry: entry["title"])
    print sorted_entries

1 个答案:

答案 0 :(得分:1)

您确定使用的是正确的模块吗?你有:

from futures import Future

但是如果您想使用您链接到的RssLibraries页面中的模块,那么它应该是

from future import Future

(您需要从该页面上的链接下载future模块。)

看起来你实际上正在使用futures module,它是Python 3 concurrent.futures模块的后端口,用于早期版本的Python。