web-crawler - Kentico 10 使用的网络爬虫引擎

标签 web-crawler kentico

根据文档 Configuring Page Crawler Indexes 是否有有关 Kentico 10 使用的网络爬虫技术/引擎的更多信息?

我问这个问题的原因是因为我想考虑将其用于可以位于 Kentico 之外的自定义爬虫项目,并且仍然允许它与 Kentico 平台具有固有的兼容性。

最佳答案

据我从 Kentico 10 源代码来看,Kentico SmartSearch 使用的爬虫是完全专有的。它没有使用任何第三方库。

它使用System.Web.HttpWebRequest下载页面内容。完整内容以字符串形式反馈到 SmartSearch 索引器中。之后,它会进行文本提取并馈送到 Lucene 进行索引。

让 Kentico SmartSearch 使用外部爬虫并不容易。我们通常远离爬虫,因为与直接从数据库提取数据的标准索引相比,它的执行成本相当高。

Kentico 支持executing some scheduled tasks in a Windows service但不是搜索任务。

请注意,Kentico SmartSearch 实际上并不通过发现链接来抓取网站。它使用内容树来确定需要索引的内容。如果您想对其他内容(例如来自您集成的系统的内容)建立索引,则需要实现自定义搜索服务,如here所述。 .

可行的一件事是让外部进程抓取您想要索引的任何内容并将原始 HTML 内容放入存储中。然后编写一个自定义 SmartSearch 索引,从存储中提取数据以便在 Kentico 中建立索引。如果您正在对 Kentico 管理的内容建立索引,则可以通过 Hook 文档事件将其提升到一个新的水平。这样您就可以仅在页面更新时对其进行抓取。

关于web-crawler - Kentico 10 使用的网络爬虫引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45985957/

相关文章:

c# - 如何在 Kentico CMS 中创建 "back"链接?

c# - 如何在 kentico smartsearch 中按类别搜索

asp.net-mvc - Kentico 9 - 单独的 MVC 应用程序 - 身份验证

kentico - Kentico 管理 UI 上的快捷方式

c# - 在 Kentico 中提交 Authorize.Net SIM 表格

c# - 网络爬虫 C# .Net

php - 简单的网络爬虫速度问题

php - 遵循 50 次重定向后,Curl 失败,但 wget 工作正常

seo - 禁止在 robots.txt 中仅针对一个 url 的查询字符串

seo - 如何防止谷歌机器人抓取页面的特定部分?