【问题标题】:Programming languages comparison for web data mining taskWeb 数据挖掘任务的编程语言比较
【发布时间】:2010-12-17 05:00:46
【问题描述】:

对于与网络数据挖掘相关的任务(开发网络爬虫、字符串操作等),我需要一些帮助来比较不同的编程语言,例如:C++、Java、Python、Ruby 和 PHP。我对 PHP 有一点经验,我认为它对于这个特定任务的优点是语法简单、深入的字符串解析能力、网络功能和可移植性,但对其他语言及其优缺点了解不多与此特定任务相关。

【问题讨论】:

  • 不同的语言做什么? Web 上的数据挖掘是一项复杂的任务,而且不清楚您将要做什么。此外,这取决于你的知识和经验,你愿意学习多少,这是否需要专业素质等等。
  • 我将您的问题重新标记为web-scraping 而不是data-mining(指的是分析,而不是数据提取)。

标签: web-scraping language-comparisons


【解决方案1】:

Google 的第一个爬虫是用 Python 1.5 编写的

我不是其他语言的专家,但我会使用 python 和 html5lib 或 Beautifulsoup。

【讨论】:

    【解决方案2】:

    具体语言与您的熟悉程度无关。如今,所有高级语言都将附带基础知识。除非您需要它超快(您可能会受到下载速度的限制,而不是解析 HTML 的速度)或没有列出其他限制,否则语言不会那么重要。

    只要确保您使用这些库即可。特别是一个 HTML 解析库,它可以很好地处理无效标记(不是 XML 解析器)和适当的正则表达式。

    【讨论】:

      【解决方案3】:

      正如之前的帖子所暗示的 - 熟悉会产生很大的不同。我还想说看看这门语言最初的设计目的是什么——它很好地说明了它最擅长的地方。

      PHP - 专为服务器端脚本而设计,不适合这种用途。

      Perl - 旨在将文本分开(良好的开端)和优秀的库 - 查看 LWP 和 HTML 下的模块,例如 HTML::Treebuilder - 一个不错的选择。无与伦比的插件模块选择。

      Python - 不错的选择,看看 beautifulsoup 和 urllib

      Ruby - 也是一个不错的选择,hpricot 在可用模块方面远不如 Perl 或 Python 成熟。

      我写了很多网络蜘蛛/数据挖掘软件,并且一直使用 Perl。如果我今天从头开始,我可能会选择 python。

      【讨论】:

        猜你喜欢
        • 2011-06-16
        • 2011-01-13
        • 2014-12-28
        • 1970-01-01
        • 1970-01-01
        • 2011-07-13
        • 2012-05-01
        • 2011-12-25
        • 2011-05-17
        相关资源
        最近更新 更多