【发布时间】:2012-02-05 19:17:26
【问题描述】:
我正计划为一个 NLP 项目编写一个网络爬虫,它每次都会在特定的时间间隔内读取论坛的线程结构,并用新内容解析每个线程。通过正则表达式,提取新帖子的作者、日期和内容。然后将结果存储在数据库中。
用于爬虫的语言和平台必须符合以下条件:
- 在多核和 CPU 上轻松扩展
- 适合高 I/O 负载
- 快速正则表达式匹配
- 易于维护/操作开销很少
经过一些研究,我认为 Erlang 可能是一个合适的候选者,但我读到它在字符串处理(以及正则表达式匹配)方面不是很好。我对维护因素也没有任何经验。
对于上述场景,Erlang 是一种好的技术吗?如果没有,有什么好的选择?
【问题讨论】:
-
这可能在programmers.stackexchange.com 上问得更好;它在这里属于“非建设性”,恕我直言
-
您的标准与整体设计和架构的关系至少与语言的关系一样大。您可以使用 Erlang、Python、Java 等构建可扩展的网络爬虫。这还取决于您当前的编程语言经验和时间表。
-
我真的很想在这个项目中使用 Erlang,因为它可能是我目前所读到的最合适的。我的问题是,如果糟糕的正则表达式匹配使其无法用于这个项目,那么在实践中运营费用(尤其是维护费用)会有多高。
-
Erlang 是(对我来说)爬虫的最佳选择。在尽可能多的虚拟机实例或物理机上生成和分发解析和爬取活动是可能的并且更容易
标签: erlang web-crawler