cra*_*tad 1 html c# web-crawler html-agility-pack
我在Web Crawler应用程序中使用HtmlAgilityPack过去2个月没有加载网页的问题.
现在,当我尝试加载此特定网页时,文档OuterHtml为空,因此此测试失败
var url = "http://www.prettygreen.com/";
var htmlWeb = new HtmlWeb();
var htmlDoc = htmlWeb.Load(url);
var outerHtml = htmlDoc.DocumentNode.OuterHtml;
Assert.AreNotEqual("", pageHtml);
Run Code Online (Sandbox Code Playgroud)
我可以从网站加载另一个页面没有问题,例如设置
url = "http://www.prettygreen.com/news/";
Run Code Online (Sandbox Code Playgroud)
在过去,我曾经遇到过编码问题,我玩过htmlWeb.OverrideEncoding和htmlWeb.AutoDetectEncoding而没有运气.我不知道这个网页有什么问题.
Ale*_*lex 11
看来这个网站需要启用cookie.因此,为Web请求创建cookie容器应该可以解决问题:
var url = "http://www.prettygreen.com/";
var htmlWeb = new HtmlWeb();
htmlWeb.PreRequest += request =>
{
request.CookieContainer = new System.Net.CookieContainer();
return true;
};
var htmlDoc = htmlWeb.Load(url);
var outerHtml = htmlDoc.DocumentNode.OuterHtml;
Assert.AreNotEqual("", outerHtml);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10276 次 |
| 最近记录: |