我应该使用Screen Scrapers或API来读取网站上的数据

时间:2012-06-16 05:41:16

标签: python html screen-scraping web-scraping

我正在构建一个Web应用程序作为大学项目(使用Python),我需要从网站上阅读内容。它可以是互联网上的任何网站。

起初我想过使用像BeautifulSoup,lxml这样的Screen Scrapers来阅读内容(作者写的数据)但我无法根据一个逻辑搜索内容,因为每个网站都是按照不同的标准开发的。

因此我想到使用RSS / Atom(使用Universal Feed Parser),但我只能得到内容摘要!但我想要所有的内容,而不仅仅是摘要。

那么,有没有一种方法可以使用一个逻辑,我们可以使用像BeautifulSoup,lxml等lib一样阅读网站的内容?

或者我应该使用网站提供的API。

如果我的博客作者博客可以使用谷歌数据API,我的工作变得轻松,但问题是,我是否需要为同一份工作为每个不同的API编写代码?

什么是最佳解决方案?

2 个答案:

答案 0 :(得分:7)

使用网站的公共API(如果存在)是迄今为止最好的解决方案。这就是API存在的原因,这是网站管理员说“使用我们的内容”的方式。刮痧可能会在一天内完成并打破下一次,并不意味着网站管理员同意重复使用其内容。

答案 1 :(得分:0)

您可以查看内容提取库 - 我使用过Full Text RSS(php)和Boilerpipe(java)。
两者都有网络服务,因此您可以轻松测试它是否符合您的要求。您也可以自己下载并运行它们,并进一步修改其在各个站点上的行为。