ASP.NET抓取网页内容示例

开发 后端
asp.net抓取网页内容是非常方便的,而其中更是解决了ASP中困扰我们的编码问题。

asp.net 抓取网页内容需要三个类:WebRequest、WebResponse、StreamReader。

WebRequest、WebResponse 的名称空间是:

System.Net

StreamReader 的名称空间是:

System.IO

ASP.NET抓取网页内容核心代码

  1. WebRequest request = WebRequest.Create("http://www.cftea.com/");  
  2. WebResponse response = request.GetResponse();  
  3. StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));  

WebRequest 类的 Create 为静态方法,参数为要抓取的网页的网址;

Encoding 指定编码,Encoding 中有属性 ASCII、UTF32、UTF8 等全球通用的编码,但没有 gb2312 这个编码属性,所以我们使用 GetEncoding 获得 gb2312 编码。

示例

  1. < %@ Page Language="C#" %>  
  2. < %@ Import Namespace="System.Net" %>  
  3. < %@ Import Namespace="System.IO" %>  
  4. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">< script runat="server">  
  5.     void Page_Load(object sender, EventArgs e)  
  6.     {  
  7.         try 
  8.         {  
  9.             WebRequest request = WebRequest.Create("http://www.cftea.com/");  
  10.             WebResponse response = request.GetResponse();  
  11.             StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));  
  12.               
  13.             tb.Text = reader.ReadToEnd();  
  14.               
  15.              reader.Close();  
  16.              reader.Dispose();  
  17.             response.Close();  
  18.         }  
  19.         catch (Exception ex)  
  20.         {  
  21.             tb.Text = ex.Message;  
  22.         }  
  23.     }  
  24. < /script>< html xmlns="http://www.w3.org/1999/xhtml" >  
  25. < head runat="server">  
  26.     < title>抓取网页内容 - 千一网络< /title>  
  27. < /head>  
  28. < body>  
  29.     < form id="form1" runat="server">  
  30.     < div>  
  31.     < asp:TextBox ID="tb" runat="server" Width="500" Height="300" TextMode="multiLine">< /asp:TextBox>  
  32.     < /div>  
  33.     < /form>  
  34. < /body>  
  35. < /html>   
  36.  

这样就实现了ASP.NET抓取网页内容。

【编辑推荐】

  1. ASP.NET中Bind和Eval的区别:两种绑定
  2. 简单的ASP.NET常用代码(2)
  3. 简单的ASP.NET常用代码(1)
  4. ASP.NET技巧:非托管COM组件的使用
  5. ASP.NET中拼接字符串的另一实现:Response.Write

责任编辑:book05 来源: hi.baidu
相关推荐

2009-08-07 16:09:25

ASP.NET AJA

2009-08-07 16:27:59

ASP.NET AJA

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-08-04 13:27:27

ASP.NET数据集

2009-08-07 16:39:08

ASP.NET AJA

2009-07-29 02:40:00

asp.net mvc

2009-07-27 16:30:49

母版资源ASP.NET网页模板

2009-07-27 16:11:01

ASP.NET网页模板

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入门教程

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-29 17:11:25

ASP.NET ISA

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-20 16:16:06

Post方式ASP.NET

2009-08-03 13:38:18

ASP.NET编程模型

2009-07-28 09:02:32

asp.net aja

2009-08-03 17:35:07

ASP.NET WebASP.NET编程工具

2009-08-06 14:42:54

ASP.NET服务器控

2009-07-20 15:05:14

ASP.NET或者PHSuperPrevie
点赞
收藏

51CTO技术栈公众号