在python中创建一个通用的Web爬虫,用于新闻聚合,如Flipboard

时间:2015-09-19 09:25:40

标签: python web-crawler

最近我在我的学院被分配了一个项目,这是一个新闻聚合器。我发现Flipboard是一个非常有趣和病毒式的新闻聚合应用程序。为实现这一目标,我正在构建一个网络爬虫,它将抓取网站,以获取最近的新闻和帖子。我正在Gizmod

上发帖子
  

刮刀是通用的/通用的,还是有客户刮刀   某些网站?

     

玩偶:它主要是通用/通用的。但是,我们可以   限制在特定于站点的基础上显示的内容量。我们   已经尝试用一些非常发布的网站来做这件事   缩写RSS提要 - 即使我们没有直接使用RSS,我们   试图与他们的饲料实现显示平价。

我非常熟悉从单个网站获取数据的过程。但不确定如何从多个网站和博客中获取数据,所有这些都具有完全不同的结构。

我目前正在使用Python 2.7,urllib2和BeautifulSoup来抓取单个网站。

问题:

我想知道,我怎样才能实现通过一个通用抓取工具从数千个网站获取数据的目标?

2 个答案:

答案 0 :(得分:2)

我建议创建一个大的Spider类,然后为各个站点创建子类。我写了一个类似问题here on stackoverflow的简短回答。

答案 1 :(得分:0)

我做过类似的事情,虽然对python和google-fu有基本的了解,但我教会了如何创建一个更高级用户会嘲笑的脚本。但是,嘿,它适用于我的使用,并没有留下太多的足迹。

我制作了几个使用' request'获取网站并使用' beautifulsoup'根据我使用Chrome中的检查器从站点反向设计的结构来解析各个站点。 当脚本运行时,它会运行所有函数,从而获取我想要的信息。