Html agility pack 韩元';不适用于一个特定的URL
我已将代码简化为以下方法:Html agility pack 韩元';不适用于一个特定的URL,html-agility-pack,Html Agility Pack,我已将代码简化为以下方法: [TestMethod] public void ViaplayCrawl() { var getWeb = new HtmlWeb(); var documentUrl = getWeb.Load("http://viaplay.dk/"); var someVar = documentUrl.DocumentNode.SelectNodes("//body").Count; } 这种方法适用于我尝试过的所有其他网页,但对于“viaplay
[TestMethod]
public void ViaplayCrawl()
{
var getWeb = new HtmlWeb();
var documentUrl = getWeb.Load("http://viaplay.dk/");
var someVar = documentUrl.DocumentNode.SelectNodes("//body").Count;
}
这种方法适用于我尝试过的所有其他网页,但对于“viaplay.dk”来说似乎失败了
当我给someVar赋值时,我得到一个NullReferenceException
有人知道我如何使用htmlagilitypackage抓取viaplay.dk吗 站点不返回
内容类型
标题,这是HtmlWeb
类忽略结果的提示
这是负责的方法:
HtmlAgilityPack.dll!HtmlAgilityPack.HtmlWeb.Get(System.Uri Uri,字符串方法,字符串路径,HtmlAgilityPack.HtmlDocument文档,System.Net.IWebProxy代理,System.Net.ICredentials creds)第216行C#
如果您使用HttpClient
类并将内容提供给Document.LoadHtml
类,则应该可以使用该类。或者要求站点所有者返回正确的标题
HttpClient client = new HttpClient();
var result = client.GetStringAsync("http://viaplay.dk/").Result;
var doc = new HtmlDocument();
doc.LoadHtml(result);
var someVar = doc.DocumentNode.SelectNodes("//body").Count;
谢谢你的回答。为了获得Html并使用document.load(response),我已经试用了stream和SeleniumWeb驱动程序。我明天会调查你的回复,谢谢你的时间这正是我要找的。谢谢您的解释和exsample。@我看到您正在疯狂编辑。您能修复您正在编辑的帖子中的所有错误吗?@CodeCaster我缺少哪一个?@Uwe在本例中:“HtmlAgilityPack-HAP”用作标题中的标记,“specifik”有一个拼写错误。@CodeCaster确定。实际上我改变了所有的“NullReferenceException”→ “NullReferenceException”出现在15篇文章中,没有向左或向右看。