0

我希望从许多不同的地方政府网站上抓取公共数据。此数据未以任何标准格式(XML、RSS 等)提供,必须从 HTML 中提取。我需要抓取这些数据并将其存储在数据库中以供将来参考。理想情况下,抓取例程将循环运行,并且仅将新记录存储在数据库中。我应该有一种方法可以在每个网站上轻松地从旧记录中检测到新记录。

我的大问题是:实现这一目标的最佳方法是什么?我听说有人使用 YQL。我也知道一些编程语言也使解析 HTML 数据更容易。我是一名了解几种不同语言的开发人员,并希望确保我选择正确的语言和方法来开发它,以便于维护。随着网站在未来发生变化,抓取例程/代码/逻辑将需要更新,因此这很重要,这将相当容易。

有什么建议么?

4

3 回答 3

0

好吧,我会使用我自己的抓取库或相应的命令行工具

它可以使用无需任何实际编程即可抓取大多数网页的模板,将来自不同站点的相似数据标准化为规范格式,并验证没有任何页面更改其布局......

命令行工具不支持数据库,你需要编写一些东西......

(另一方面, Webharvest说它支持数据库,但它没有模板)

于 2012-09-07T10:09:42.263 回答
0

我同意 David 关于 perl 和 python 的观点。Ruby 还具有机械化功能,非常适合刮擦。我唯一会远离的是 php,因为它缺乏抓取库和笨拙的正则表达式函数。就 YQL 而言,它对某些东西有好处,但对于抓取它实际上只是增加了一层可能出错的东西(在我看来)。

于 2012-09-05T02:48:16.437 回答
0

我会将 Perl 与模块WWW::Mechanize(Web 自动化)和HTML::TokeParser(HTML 解析)一起使用。

否则,我会将 Python 与 Mechanize 模块(网络自动化)和 BeautifulSoup 模块(HTML 解析)一起使用。

于 2012-09-04T16:53:29.607 回答