c#抓取网页数据(利用C#和.NET提供的类来轻松创建一个的程序)

优采云 发布时间: 2022-04-08 06:04

  c#抓取网页数据(利用C#和.NET提供的类来轻松创建一个的程序)

  本文使用 C# 和 .NET 提供的类,轻松创建抓取网页内容源代码的程序。HTTP 是在 WWW 上进行数据访问的最基本协议之一。.NET的基本类型库类中提供了两个对象类:HTTPWebRequest和HTTPWebResponse,分别用于向资源发送请求和获取响应。为了获取一个资源的内容,我们首先指定一个我们要抓取的URL地址,使用HTTPWebRequest对象发出请求,使用HTTPWebResponse对象接收响应的结果,最后使用TextStream对象提取我们想要的信息并在控制台打印出来。

  下面看一下如何实现这样的功能:

  (1)打开VS.NET,点击“文件”-“新建”-“项目”,项目类型选择“Visual C#项目”,模板选择“Windows应用程序”,

  (2)Form1中添加Label1、Button1、TextBox1、TextBox2四个控件,将TextBox2的Multiline属性改为True,

  (3)右击Form1表单,选择“查看代码”,然后在顶部输入:

  使用 System.IO;

  使用 System.Net;

  使用 System.Text;

  私人无效按钮1_Click(对象发送者,System.EventArgs e)

  {

  }

  在括号内输入以下代码:

  字节[] buf = 新字节[38192];

  HttpWebRequest 请求 = (HttpWebRequest)

  WebRequest.Create(textBox1.Text);

  HttpWebResponse 响应 = (HttpWebResponse)

  请求.GetResponse();

  流 resStream = response.GetResponseStream();

  int count = resStream.Read(buf, 0, buf.Length);

  textBox2.Text = Encoding.Default.GetString(buf, 0,

  数数);

  resStream.Close();

  (4)all”按钮,按“F5”运行应用程序,在“请输入URL地址:”后的单行文本框中输入,点击“获取HTML代码”按钮,即可看到地址的代码!

  接下来,我们将对上述程序做一个分析:

  上述程序的作用是抓取网页内容,并在多行文本框中显示 HTML 代码。由于返回的数据是字节类型的,我们创建一个字节类型的数组变量,名为 buf 来存储请求返回的结果,其中数组的大小与我们要请求返回的数据的大小有关。

  首先,我们实例化 HttpWebRequest 对象,并使用 WebRequest 类的静态方法 Create()。该方法的字符串参数是我们要请求的页面的URL地址。由于Create()方法返回的是WebRequest类型,所以我们必须将Model(即类型转换)转换为HttpWebRequest类型,然后赋值给request变量。一旦我们创建了 HttpWebRequest 对象,我们就可以使用它的 GetResponse() 方法返回一个 WebResponse 对象,然后将其转换为一个 HttpWebResponse 对象并将其分配给响应变量。

  现在,可以使用响应对象的GetResponseStream()方法获取响应的文本流,最后使用Stream对象的Read()方法将返回的响应信息放入我们最初创建的字节数组buf中。Read()有3个参数,分别是:要放置的字节数组,字节数组的起始位置,字节数组的长度。

  最后,将字节转换为字符串。注意:这里使用的是默认编码,它使用默认的编码方式,所以我们不再需要在字符编码之间进行转换。您还可以使用 WebRequest 和 WebResponse 来实现上述功能。代码如下:

  WebRequest 请求 = WebRequest.Create(textBox1.Text);

  WebResponse 响应 =request.GetResponse();

  输入另一个网址,看看是不是很方便!

  本文来自:象屿阁-IT天堂(),转载请保留此信息!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线