码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET网页抓取数据

时间:2015-07-21 14:35:13      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

我的数据通过一个TextBox输入,这些代码是写在一个button的点击事件里的。

网页数据抓取大概分为两步,第一步是获取网页源代码:

具体注释如下:

         var currentUrl = TextBox1.Text;//获得要抓取的网页的URL地址
 
        var request = WebRequest.Create(currentUrl) as HttpWebRequest;//请求对象
        var response=request.GetResponse()as HttpWebResponse;//定义页面回应对象
       

        var encode = string.Empty;
       
        encode = response.CharacterSet;//获得网页的编码

 
        Stream stream;//数据流
        if (response.ContentEncoding.ToLower() == "gzip")
        {
            stream = new GZipStream(response.GetResponseStream(),    CompressionMode.Decompress);
        }
        else {
            stream = response.GetResponseStream();
        }//解压缩
        var sr = new StreamReader(stream,Encoding.GetEncoding(encode));//定义数据流读取对象
        var html = sr.ReadToEnd();
        sr.Close();
        HtmlDocument document=new HtmlDocument();
        document.LoadHtml(html);//将数据存入document

得到了网页源代码,接下来就是对其解析,就是第二步:

解析可以使用正则表达式或是Spilt等字符串操作方法。

根据源代码写出的Xpath,利用节点得到位于两个节点之间的数据:

我的对象网页就是我的博客主页http://home.cnblogs.com/u/xuwanghu/

string sumLine = document.DocumentNode.SelectSingleNode("//body//ul[@id=‘user_profile‘]").InnerText;

string yuanlin = sumLine2.ToString().Split(‘:‘)[0].Split(‘博‘)[0];

这样子,就将园龄存入了yuanlin,也就实现了抓取网页数据的功能。

ASP.NET网页抓取数据

标签:

原文地址:http://www.cnblogs.com/xuwanghu/p/4664280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!