关闭

C#网页数据采集(一)HtmlAgilityPack

标签: 数据采集
774人阅读 评论(1) 收藏 举报
分类:

HtmlAgilityPack是.NET下的一个HTML解析类库。支持用XPath来解析HTML。命名空间:HtmlAgilityPack

    HtmlWeb webClient = new HtmlWeb();
    HtmlAgilityPack.HtmlDocument html = webClient.Load("http://news.baidu.com/");//是你需要解析的url这里解析的是百度新闻首页
    var strhtml = html.DocumentNode.InnerText;//获取页面数据
获取下来的页面数据如下图:出现了乱码


解决方法:

    var end = html.Encoding.BodyName;//获取页面编码格式
            var end1 = html.StreamEncoding.BodyName;//当前编码格式
            webClient.OverrideEncoding = Encoding.GetEncoding(end);//设置webClient编码格式为页面编码格式,默认是utf-8
            html = webClient.Load("http://news.baidu.com/");
            var end2 = html.StreamEncoding.BodyName;//当前编码格式


页面已经正常显示,百度页面加载是通过js加载,所以取的数据不完全:标题的链接竟然只是普通的文字,翻到最后发现后续是通过js去加载的数据




HtmlAgilityPack获取的是源代码就是页面组成的代码方式,而不是加载完毕以后完整的页面


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:162276次
    • 积分:2774
    • 等级:
    • 排名:第14191名
    • 原创:126篇
    • 转载:1篇
    • 译文:0篇
    • 评论:29条
    文章分类
    最新评论