此代码适用于其他网站,但当我让步时:" http://www.aedn.org/page/1"加载null。请你帮我。
string Way = Url + PageNumber.ToString();
HtmlWeb Source = new HtmlWeb();
HtmlDocument Doc = Source.Load(Way);
List<Movie> MovieList = new List<Movie>();
答案 0 :(得分:0)
这是因为您使用的URL是使用HTTP 302响应标头重定向到另一个URL - 浏览器为您重定向,但HtmlAgilityPack不会。
随后的请求将起作用,因为响应包含cookie。
你可以验证这个,例如在新的隐身浏览器窗口中使用Fiddler。
答案 1 :(得分:0)
我们知道,html页面可能有不同的编码。 所以,你可以使用C#类WebClient获取html源代码 然后使用htmlagilitypack来解析html源代码。
WebClient webClient = new WebClient();
webClient.Headers.Add(HttpRequestHeader.AcceptEncoding, "UTF-8");
byte[] b = webClient.DownloadData(url);
MemoryStream ms = new MemoryStream(b);
HtmlDocument Doc = new HtmlDocument();
Doc.load(ms,"UTF-8");