RSS 屏幕抓取器
有没有人能推荐一个现成的RSS抓取工具?最好是用Python写的,这样我可以获取完整的RSS内容。
3 个回答
1
feedparser.org 是一个很棒的网站
3
这里有一个不错的列表,可以在这里查看,里面提到了Feed Parser,你可以这样使用它:
import feedparser
python_wiki_rss_url = "http://www.python.org/cgi-bin/moinmoin/" \
"RecentChanges?action=rss_rc"
feed = feedparser.parse( python_wiki_rss_url )
然后你可以做一些这样的事情:
for item in feed["items"]:
print item["title"]
0
抱歉,但在Python中没有这个功能,虽然在PHP中有。你可以使用并改进我做的一个叫做scraped的工具。虽然它不能处理所有网站,但它是一个基于配方的系统,目前只支持纽约时报、华尔街日报和经济学人这三个网站。我正在开发一个全面的算法,但这是一项大工程。它需要对不同类型的HTML和XML进行大量分析。就连上面提到的这三个网站,它们的抓取算法也差别很大,华尔街日报的复杂程度是最高的。他们的HTML里充满了很多无用的东西,主要就是为了阻止你抓取。
这是我提到的程序,它需要lxml库,具体内容在readme里都有说明。它读取配置文件,解析部分RSS源,获取链接,然后抓取这些链接,最后生成一个RSS 2.0的XML文件。我主要把它转换成电子书格式,供我的Kindle使用。我使用了lxml、BeautifulSoup和feedparser这些工具。
你也可以看看calibre项目,它使用的方法和我在配方上的做法类似。