ASP.NET网页抓取数据

我的数据通过一个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,也就实现了抓取网页数据的功能。

时间: 2024-11-06 18:15:23

ASP.NET网页抓取数据的相关文章

从网页抓取数据的一般方法

首先要了解对方网页的执行机制 ,这能够用httpwacth或者httplook来看一下http发送和接收的数据.这两个工具应该说是比較简单易懂的.这里就不再介绍了.主要关注的内容是header和post的内容.通常会包括cookie,Referer页面和其它一些乱其八糟可能看不懂的变量,还有就是正常交互的參数,比方须要post或者get的querystring所包括的东西. httplook和httpwacth 网上有非常多下载的,这里推荐使用httpwach,由于能够直接嵌入到ie中,个人认为

网页抓取数据小工具-简化数值变量值

笔者出于兴趣或者工作需要,会经常对一些网站的数据进行数据抓取,对于像淘宝.携程.百度这类大型互联网公司的网站,出于安全或者性能考虑,常常会针对网站加入反抓取策略脚本. 在该类脚本中,常见的手法有以下几种: 1. 针对简单数值变量的值,会把它用一个数值表达式来表示,让你没办法一眼看穿它,如:_lkqr = - ((104 | 3525868) % 705192) 2. 把一个简单的数值,用手法1中两个变量进行运算,得到真正数值.如: _set = _lkqr + _lnz 3. 提供一个字符串转换

网页中抓取数据

下面写个例子,实现从网页中抓取数据. 这个例子中,只是从网页中获取了数据,但是没有进行任何处理,只是将数据保存到一个txt文件中. 该例子是在android工程中写的. package com.example.creepertest; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.I

java抓取网页数据,登录之后抓取数据。

最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一个jsoup的jar包,我用的1.6.0..下载地址为:http://pan.baidu.com/s/1mgqOuHa 1,获取网页内容(核心代码,技术有限没封装). 2,登录之后抓取网页数据(如何在请求中携带cookie). 3,获取网站的ajax请求方法(返回json). 以上这三点我就用一个类

PHP的cURL库:抓取网页,POST数据及其他,HTTP认证 抓取数据

From : http://developer.51cto.com/art/200904/121739.htm 下面是一个小例程: ﹤?php// 初始化一个 cURL 对象$curl = curl_init(); // 设置你需要抓取的URLcurl_setopt($curl, CURLOPT_URL, 'http://cocre.com'); // 设置headercurl_setopt($curl, CURLOPT_HEADER, 1); // 设置cURL 参数,要求结果保存到字符串中还

htmlparser实现从网页上抓取数据

package parser; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.

模拟web访问有登录且有验证码的登录后抓取数据

模拟web访问有登录且有验证码的登录后抓取数据 1 取验证码 1 在窗体上放一个picturebox (imgValidate)存放获取的验证码图片, 2 用浏览器的开发者工具firefox (f12) 分析出验证码的网址 private void GetValidateImage() { cookies = new CookieContainer(); string strUrl = "http://www.xxx.com/ValidateCodePicture.aspx?Key="

asp.net如何抓取其他网站的内容

1. 需要引用的类库 using System.Net; using System.IO; using System.Text; using System.Text.RegularExpressions; 2. 获取其他网站网页内容的关键代码 WebRequest request = WebRequest.Create("http://目标网址.com/"); WebResponse response = request.GetResponse(); StreamReader read

用Python进行网页抓取

引言 从网页中提取信息的需求日益剧增,其重要性也越来越明显.每隔几周,我自己就想要到网页上提取一些信息.比如上周我们考虑建立一个有关各种数据科学在线课程的欢迎程度和意见的索引.我们不仅需要找出新的课程,还要抓取对课程的评论,对它们进行总结后建立一些衡量指标.这是一个问题或产品,其功效更多地取决于网页抓取和信息提取(数据集)的技术,而非以往我们使用的数据汇总技术. 网页信息提取的方式 从网页中提取信息有一些方法.使用API可能被认为是从网站提取信息的最佳方法.几乎所有的大型网站,像Twitter.