gpt4 book ai didi

parsing - 大规模抓取/解析的技术是什么?

转载 作者:行者123 更新时间:2023-12-04 06:49:22 24 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我们正在设计一个大规模的网络抓取/解析项目。基本上,脚本需要遍历网页列表,提取特定标签的内容,并将其存储在数据库中。
您会推荐哪种语言来大规模(数千万页?)执行此操作。
.

我们将 MongoDB 用于数据库,因此任何具有可靠 MongoDB 驱动程序的东西都是加分项。

到目前为止,我们一直在使用(不要笑)PHP、curl 和 Simple HTML DOM Parser但我认为这不能扩展到数百万个页面,尤其是因为 PHP 没有适当的多线程。

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

最佳答案

如果你真的在谈论大规模,那么你可能想要一些可以让你水平扩展的东西,例如像 Hadoop 这样的 Map-Reduce 框架。 .您可以使用多种语言编写 Hadoop 作业,因此您不会受到 Java 的束缚。这是一篇关于 writing Hadoop jobs in Python 的文章, 例如。顺便说一句,这可能是我使用的语言,感谢像 httplib2 这样的库用于提出请求和 lxml 用于解析结果。

如果 Map-Reduce 框架太过分了,您可以将其保留在 Python 中并使用 multiprocessing .

更新:
如果您不想要 MapReduce 框架,并且更喜欢不同的语言,请查看 ThreadPoolExecutor 在 java 。不过,我肯定会使用 Apache Commons HTTP 客户端的东西。 JDK 中的东西对程序员不太友好。

关于parsing - 大规模抓取/解析的技术是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com