c++ - 构建网络爬虫

标签 c++ c search-engine

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

最佳答案

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

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

关于c++ - 构建网络爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861035/

相关文章:

search - Seo, pagerank - 在 url 中查询

c++ - 你能判断 C++ 指针是否已被破坏吗?

C++ - 对象作为参数中的变量

c++ - 为什么我的可变参数宏不能正确接受任何参数?

c - 是否可以在 Lua 中禁用堆栈回溯?

php - 剥离 html 以删除所有 js/css/html 标签以提供实际文本(显示在浏览器上)以将其用于索引和搜索

search-engine - 在哪里可以找到希伯来停用词列表?

c++ - Eigen 矩阵分配需要很长时间——有解决办法吗?

jquery - 检查使用 JsonCpp 生成的 JSON 字符串

c - 安装的 VHD 上的 FSCTL_LOCK_VOLUME 失败并出现 ERROR_ACCESS_DENIED