当前位置:  开发笔记 > 编程语言 > 正文

用于大规模刮削/解析的技术是什么?

如何解决《用于大规模刮削/解析的技术是什么?》经验,为你挑选了1个好方法。

我们正在设计一个大规模的网络抓取/解析项目.基本上,脚本需要浏览网页列表,提取特定标记的内容,并将其存储在数据库中.你会建议用什么语言大规模(数千万页?)..

我们正在将MongoDB用于数据库,因此任何具有可靠MongoDB驱动程序的东西都是优先考虑的.

到目前为止,我们一直在使用(不要笑)PHP,curl和Simple HTML DOM Parser,但我不认为它可以扩展到数百万个页面,特别是因为PHP没有适当的多线程.

我们需要一些易于开发的东西,可以在Linux服务器上运行,具有强大的HTML/DOM解析器以轻松提取该标签,并且可以在合理的时间内轻松下载数百万个网页.我们并不是真的在寻找网络抓取工具,因为我们不需要关注链接并索引所有内容,我们只需要从列表中的每个页面中提取一个标记.



1> Hank Gay..:

如果你真的在谈论的规模,那么你可能想要的东西,可以让你进行水平扩展,例如,像地图,减少框架的Hadoop.您可以使用多种语言编写Hadoop作业,因此您不必使用Java.例如,这是一篇关于用Python编写Hadoop作业的文章.顺便说一句,这可能是我使用的语言,这要归功于像httplib2发出请求和lxml解析结果这样的库.

如果Map-Reduce框架过度,你可以将它保存在Python中并使用multiprocessing.

更新:如果您不想使用MapReduce框架,并且您更喜欢其他语言,请查看ThreadPoolExecutorJava中的内容.不过,我肯定会使用Apache Commons HTTP客户端的东西.JDK本身的东西对程序员友好程度较低.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有