C#使用正则表达式提取网页中的信息数据

大家好,今天来分享一下在ASP.NET中如何通过正则表达式的使用来获取HTML的信息。 如我们所知,网页中经常会包含一些非常有用的信息,比如网页标题(title),文本(text),图片(image),链接(link),表格(table),一些搜索引擎的工程师很可能需要关注这方面的信息,通常他们需要在网页中查询一些关键字,图片等信息。

这里介绍一下怎么在.NET中通过正则表达式快速的获取这些信息, 我们需要在VS2010中建立一个空的web应用程序:

 

首先需要制作一个源页面,本页面包含一些基本信息,也就是需要获取信息的源页面,这里这个页面包括文本,脚本,图片和链接等信息。

[本示例完整源码下载(0分)] http://download.csdn.net/source/3450356

 

在本项目中页面的头部都需要设置AutoEventWireup属性,

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SourcePage.aspx.cs" Inherits="CSASPNETStripHtmlCode.SourcePages" %>

AutoEventWireup 属性被设置为 true时该页框架将自动调用页面的事件,在本例中如果不这样设置,第二次执行获取HTML代码的方法将会失败。

 

SourcePage.aspx

 

 

添加一个Default.aspx页面 我们将从这个页面中访问SourcePage并从中提取需要的信息, 先来看看它的页面信息,包括一个多行的TextBox和几个Button,Button用于获取页面的资源信息并且置于TextBox中. 同样,在页面头部的page信息也将加上AutoEventWireup属性:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CSASPNETStripHtmlCode.Defaults" %>

 

Default.aspx (HTML):

 

最后一步,就是写正则表达式获取HTML代码的方法了。

首先我们需要的获取整个页面的HTML代码,通过HttpWebRequest和HttpWebResponse类访问源页面的代码并用StreamReader读取并返回string类型的变量。

接着我们可以对HTML代码进行解析和截取,本例中btnRetrievePureText用于获取纯文本,btnRetrieveSriptCode用于获取脚本信息(不常用),btnRetrieveImage用于获取图片信息,btnRetrievelink用于获取链接,当然你可以改变正则表达式的内容和方法,获取你想要的其他信息:

下面是完整代码

 

Default.aspx.cs

 

 

本例中的两个重点:

第一,介绍如何使用WebRequest.Create()和WebResponse.GetResponseStream()获取Web page内容,通过StreamReader.ReadToEnd()方法返回HTML字符串。

第二,使用Regex.Match()和Regex.Replace()两个基本的方法,获得指定的内容。至于正则表达式的写法这里就不详细介绍了,可以从网上查看到很多这方面的信息。

 

这只是一个简单的获取和解析HTML代码的例子,欢迎大家补充指正。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 以下是一个简单的 C# 正则表达式的示例,用于从字符串提取数字: ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Hello 123 World"; Match match = Regex.Match(input, @"\d+"); if (match.Success) { Console.WriteLine("Matched value: " + match.Value); } else { Console.WriteLine("No match found."); } } } ``` 在此示例,我们使用了 `Regex.Match()` 方法来搜索 `input` 字符串的数字。我们使用了 `\d+` 表达式来匹配一个或多个数字字符。如果找到了匹配项,我们将其输出到控制台。如果没有找到匹配项,我们输出一条消息表示找不到匹配项。 ### 回答2: 举个例子:C语言是一种被广泛应用于编程领域的编程语言。它的设计初衷是为了支持系统级编程,因此在操作系统、嵌入式系统等领域得到了广泛应用。 以操作系统为例,很多著名的操作系统都是使用C语言开发的,比如Unix、Linux和Windows等。C语言的设计简洁、高效,并且能够直接对硬件进行控制,使得它成为开发操作系统的首选语言。举个例子,Unix操作系统的内核是用C语言编写的,而Linux操作系统则是基于Unix的设计思想并用C语言进行开发的。C语言的高效性和可移植性,使得操作系统能够在不同的硬件平台上运行,提供了广泛的兼容性和灵活性。 另一个例子是嵌入式系统。嵌入式系统是指嵌入到其他设备的计算机系统,包括智能手机、家电、汽车等。这些设备通常有限的处理能力和存储空间,而C语言的高效性使其成为嵌入式系统开发的首选语言。举个例子,智能手机的操作系统Android就是使用C语言进行开发的,其高效的执行速度和较小的内存占用可以满足手机的资源限制,并提供流畅的用户体验。 综上所述,C语言在操作系统和嵌入式系统等领域的广泛应用举例说明了它的重要性和实用性。不仅如此,C语言还被广泛应用于游戏开发、网络编程等领域,成为程序员必备的编程语言之一。 ### 回答3: C是一个广泛应用的编程语言,被用于开发各种类型的软件和应用程序。以下是几个使用C语言的常见例子: 1. 操作系统:许多著名的操作系统,如UNIX、Linux和Windows,都是使用C语言编写的。C语言的高级性能和直接访问计算机硬件的能力使其成为操作系统开发的理想选择。 2. 嵌入式系统:C语言是开发嵌入式软件的首选语言。它具有高效的内存管理和直接硬件访问的能力,适用于控制系统、通信设备、家用电器等各种嵌入式系统。 3. 游戏开发:许多大型游戏公司使用C语言来开发游戏引擎和游戏逻辑。C语言提供了对图形库和输入/输出设备的底层访问,使开发人员能够实现高性能和交互性强的游戏。 4. 数据库管理系统:流行的数据库管理系统,如MySQL和PostgreSQL,使用C语言编写其核心部分。C语言的速度和内存管理能力对于处理大量数据和对数据库进行快速查询非常重要。 5. 网络编程:C语言提供了丰富的库和工具,用于开发网络应用程序和协议。服务器端应用程序、网络协议、网络安全等领域都广泛使用C语言。 总之,C语言因其高效性、灵活性和跨平台性而在各个领域得到广泛应用。无论是底层系统开发、嵌入式系统还是高性能应用程序,C语言都是一个强大的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值