我正在使用Agility Pack来解析HTML,问题是What is the best way to parse html in C#?
而且我的成绩很好:)
问题来自于我在某些网页上的结果是基于我的位置,所以例如我在西班牙,我得到的结果为西班牙地区,我想改变,如果我在英格兰,怎么能它完成了吗?我的意思是我必须在用户代理中进行更改? (我用作用户代理“Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:x.x.x)Gecko / 20041107 Firefox / x.x)”
最佳答案
您可以使用
原文链接:https://www.f2er.com/html/426432.htmlWebClient.DownloadString
方法,该方法允许您设置HTTP请求标头以下载网页内容,然后将其提供给HTML agility Pack.
UserAgent不是控制语言的东西.它是Accept-Language标头.例如:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.AcceptLanguage] = "es-ES";
client.Headers[HttpRequestHeader.UserAgent] = "some user agent if you wish";
string html = client.DownloadString("http://example.com");
// Feed the HTML to HTML Agility Pack
var doc = new HtmlDocument();
doc.LoadHtml(html);
// now do the parsing
}
但是,如果该网站使用基于IP的识别来向您发送不同语言的内容,那么您无法从客户端进行更改.