添加HTMLAgilityPack时,NCrawler行为错误

时间:2014-12-02 08:10:48

标签: c# .net web-crawler html-agility-pack

系统规格:Win7 64位,VS2013,.NET 4.0

我正在尝试创建一个可以抓取某个页面并提取内容的应用程序。

我正在使用NCrawl for .NET 4.0 sln。我运行了NCrawler.demo项目,它运行正常(从特定URL中提取所有子URL)。现在问题出现了:

  • 当我尝试将 HTMLAgilityPack 添加到演示中时,我可以解释html文本。如果我只是添加 HTMLAgilityPack 作为对演示项目的引用,它会使应用程序行为错误:它只会提取第一个URL,然后退出而不会出现错误。我也尝试了用于.NET 3.5的NCrawler,出现了同样的问题。

这是一个已知问题,是否有解决方法? THX

1 个答案:

答案 0 :(得分:2)

经过几天的调查后,我得出的结论是,某些方法引用HTMLAgilityPack存在库冲突。
我注意到NCrawler(NCrawler.HTMLProcessor)的一个依赖项目已经包含了一个HTMLAgilityPack引用,而不是像我一样用我的NUGet在项目中添加HTMLAgilityPack引用,我用这个HTMLProcessor项目中的HTMLAgilityPack替换它(NCrawler \ Repository \ HTMLAgilityPack \)。
执行此操作后,两个项目都将使用save dll作为参考。