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

原创 2015年11月20日 10:17:10

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获取的是源代码就是页面组成的代码方式,而不是加载完毕以后完整的页面


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C# .net 如何抓取网页内容

ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题。 1、抓取一般内容 需要三个类:WebRequest、WebResponse、StreamReader ...

C#网页数据采集(三)HttpWebRequest

截取到网页数据是js加载完以后的 HtmlWeb webClient = new HtmlWeb(); string _url = "http://news....

使用C#的HttpWebRequest模拟登陆网站

这篇文章是有关模拟登录网站方面的。 实现步骤; 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后...

C#学习路线图:C#经典编程220例(奋斗的小鸟)

下载地址:http://pan.baidu.com/share/link?shareid=1307177173&uk=721744522

有哪些好用的互联网数据抓取,数据采集,页面解析工具?

1、 互联网刚兴起的时候,数据索引是个大问题,当时Yahoo的分类页面着实火了一阵子。2、随着互联网数据量越来越大,Google,百度等搜索引擎火了起来。这个阶段,几乎没有比搜索引擎更火的技术了,连...

C# 爬虫 、 网页数据抓取 随记

第一次写数据抓取,

模拟HTTP请求实现网页自动操作及数据采集

网页可分为信息提供和业务操作类,信息提供如新闻、股票行情之类的网站。业务操作如网上营业厅、OA之类的。当然,也有很多网站同时具有这两种性质,像微博、豆瓣、淘宝这类网站,既提供信息,也实现某些业务。普通...

C#实现网页内容正文抓取

思路: 1、抓取远程网页源码,这里要实现自动判断网页编码,否则有可能抓到乱码。我是先看应答的 http头的chareset,一般这个很准,但像csdn的新闻比较变态http应答的头里的charese...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)