首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >构建web爬虫

构建web爬虫
EN

Stack Overflow用户
提问于 2009-05-14 00:15:39
回答 4查看 1.3K关注 0票数 1

我目前正在开发一个内置网络爬虫的自定义搜索引擎。由于某种原因,我不喜欢多线程,因此到目前为止,我的索引器是以单线程的方式编写的。现在,我在构建爬虫时遇到了一个小难题。有人能建议一下,先抓取1个页面再索引,还是先抓取1000+页面和缓存,然后再索引,哪个更好?

EN

回答 4

Stack Overflow用户

发布于 2009-05-14 01:10:39

网络速度很慢(相对于CPU)。通过将爬虫并行化,您将看到显著的速度提升。否则,您的应用程序将花费大部分时间等待网络IO完成。您可以使用多线程和阻塞IO,也可以使用单个线程和异步IO。

此外,与一次索引一个文档相比,大多数索引算法在批量文档上的性能会更好。

票数 4
EN

Stack Overflow用户

发布于 2009-05-14 00:26:13

好些了吗?在什么方面?就速度而言,我看不到明显的区别。在健壮性方面(从灾难性故障中恢复),在抓取页面时为每个页面建立索引可能更好。

票数 1
EN

Stack Overflow用户

发布于 2009-05-14 00:28:34

如果你对爬虫是认真的,我强烈建议你“进入”多线程。基本上,您需要始终运行至少一个索引器和至少一个爬虫(可能同时运行多个爬虫)。其中,这最小化了启动和关闭开销(例如,初始化和释放数据结构)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/861035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档