Web crawler 向项目中添加HtmlAgility Pack和Abot Web爬虫

Web crawler 向项目中添加HtmlAgility Pack和Abot Web爬虫,web-crawler,html-agility-pack,Web Crawler,Html Agility Pack,我使用“Abot”版本1.2.3.1,但当我将“Html Agility”版本1.4.6.0添加到project中时,出现以下错误: 错误38程序集'Abot,版本=1.2.3.1,区域性=中性, PublicKeyToken=null“使用”HtmlAgilityPack,版本=1.4.7.0, 区域性=中性,PublicKeyToken=bd319b19eaf3b43a'具有较高的 版本比引用的程序集“HtmlAgilityPack,版本=1.4.6.0, 文化=中性,PublicKeyTo

我使用“Abot”版本1.2.3.1,但当我将“Html Agility”版本1.4.6.0添加到project中时,出现以下错误:

错误38程序集'Abot,版本=1.2.3.1,区域性=中性, PublicKeyToken=null“使用”HtmlAgilityPack,版本=1.4.7.0, 区域性=中性,PublicKeyToken=bd319b19eaf3b43a'具有较高的 版本比引用的程序集“HtmlAgilityPack,版本=1.4.6.0, 文化=中性,PublicKeyToken=bd319b19eaf3b43a'


在Abot和问题解决之前,我从NuGet安装了HtmlAgilityPack

1-
PM> Install-Package HtmlAgilityPack
2-
PM> Install-Package Abot

在Abot和问题解决之前,我从NuGet安装了HtmlAgilityPack

1-
PM> Install-Package HtmlAgilityPack
2-
PM> Install-Package Abot

Abot使用了一个修补版本的html agility pack,因为它会使某些类型的html页面上的进程崩溃。请参阅此处记录的问题

github上存在一个问题,需要调查这是否仍然是html agility pack的nuget版本的问题(我很确定确实存在)。因此,在nuget版本不会崩溃之前,主机进程Abot将保留其修补版的html agility pack


Abot使用了一个修补版的html agility pack,因为它会使某些类型的html页面上的进程崩溃。请参阅此处记录的问题

github上存在一个问题,需要调查这是否仍然是html agility pack的nuget版本的问题(我很确定确实存在)。因此,在nuget版本不会崩溃之前,主机进程Abot将保留其修补版的html agility pack


我知道这很旧,但我刚刚遇到了这个问题。也就是说,当我添加最新版本的HAP时,Abot不起作用。但是解决方法很简单,只需使用
CSQueryHyperlinkParser
解析链接。像这样:

var crawler = new Abot.Crawler.PoliteWebCrawler(config, null, null, null, null, new Abot.Core.CSQueryHyperlinkParser(), null, null, null);

这解决了我的问题。

我知道这很旧,但我刚刚遇到了这个问题。也就是说,当我添加最新版本的HAP时,Abot不起作用。但是解决方法很简单,只需使用
CSQueryHyperlinkParser
解析链接。像这样:

var crawler = new Abot.Crawler.PoliteWebCrawler(config, null, null, null, null, new Abot.Core.CSQueryHyperlinkParser(), null, null, null);

这就解决了我的问题。

那么就使用HtmlAgilityPack 1.4.7.0这里是't HtmlAgilityPack 1.4.7.0。看起来是1.4.7,也许作者直接被登记到源代码中了?我构建了最新版本1.4.7并添加到我的项目中。现在Abot不起作用:[System.MissingFieldException]={“未找到字段:'HtmlAgilityPack.HtmlDocument.OptionMaxNestedChildNodes'。”你尝试过通过NuGet添加引用吗?我在同一个项目中也使用了Abot 1.2.3.1和HtmlAgilityPack 1.4.7.0。这两个DLL都是由NuGet管理的,没有问题。那么使用HtmlAgilityPack 1.4.7.0这里是`t HtmlAgilityPack 1.4.7.0。看起来像是1.4.7,也许作者是直接加入源代码的?我构建了上一个版本1.4.7并添加到我的项目中。现在Abot不工作:[System.MissingFieldException]={“未找到字段:'HtmlAgilityPack.HtmlDocument.OptionMaxNestedChildNodes'。”您是否尝试通过NuGet添加引用?我也在同一项目中使用Abot 1.2.3.1和HtmlAgilityPack 1.4.7.0。NuGet管理的两个DLL都没有问题。此问题的状态如何?或者是否有其他替代方案?Html agility pack仍然存在此问题。Abot v1.5可能只使用CsQuery作为链接解析的默认值,因为它确实存在此问题没有这个问题。我甚至可能完全删除Html Agility Pack以删除依赖项。问题在上周仍然存在。通过搜索文本“进程因StackOverflowException而终止”,查看最新失败的生成“。在拥有大量cpu和内存的计算机上,此测试不会失败,但最小生成服务器很难崩溃。此问题的状态如何?或者还有其他选择吗?Html敏捷包仍然存在这个问题。Abot v1.5可能只使用CsQuery作为链接解析的默认值,因为它不会遇到这个问题。我甚至可能会完全删除Html敏捷包来删除依赖项。这个问题到上周仍然存在。通过搜索文本“进程因StackOverflowException而终止”,查看最新失败的生成。此测试在具有大量cpu和内存的计算机上不会失败,但最小生成服务器很难崩溃。这在安装Boilerpipe(或任何引用HAP=1.4.9.5的包)时有效@Thorgeir的回答在安装锅炉管(或参考HAP=1.4.9.5的任何包)时适用于这两个工程@Thorgeir的答案对两者都适用