`
piperzero
  • 浏览: 3555487 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[C#][固定格式网页解析]使用正则表达式处理网页的初步体会

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
用IE WebControl解析网页得到特定网页中的特定数据:
Set oDocument = Form2.m_IE.Document
Set oelement = oDocument.Forms("searchdetail")

Set oListTableElement = oelement.children(0).children(0)
这样的好处是简单,但坏处是:如何读取以及节点值究竟是什么含意这些信息,不太好抽取出来放到外面,作为灵活配置的文件。
因为它属于一个Childnodes一个Childnodes这么遍历的,无法灵活设定深度以及含义。
又体验了一把正则表达式,专门处理了特定站点HTML,由于我要处理的页面中总包含某些的固定代码。
发现下面的式子可以把一系列值解析到一个又一个的MatchCollection中。
我用的是"The Regulator"工具,试验结果如下:
也就是Collection“hiddentonenames”总是XX名的集合,按序排列;
Collection“hiddenspnames”总是XX名的集合,按序排列;
以此类推。
在C#中,可以用如下代码得到各个集合的值:
foreach(Match match in matchCollection)
{
Group groupToneNames = match.Groups["hiddentonenames"];
Group groupSpNames = match.Groups["hiddenspnames"];
Group groupSingers = match.Groups["hiddensingers"];
}
这样,我可以针对这各种门派的Portal风格写出专门的正则表达式,但让他们输出的Collections名字都是一样的,从而让获取一个铃声的各个字段的代码固定下来。
以后更新,只需要修改各个门派的正则表达式即可。
另外非常感谢王辉的《Web页面爬行实践》精彩文章!


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=107090


分享到:
评论

相关推荐

    正则表达式测试工具C#版(src)

    在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整的源代码,可以帮助开发者调试和测试他们的正则表达式,支持查找和替换功能...

    强大的正则表达式生成工具 C#版

    C#作为.NET框架的一部分,提供了全面支持正则表达式的类库,使得开发人员能够方便地利用正则表达式进行复杂的文本处理任务。在这个“强大的正则表达式生成工具 C#版”中,我们可以期待一个专为C#开发者设计的高效、...

    C#使用正则表达式验证IP地址

    使用正则表达式来判断用户输入的IP地址格式是否正确

    c#使用正则表达式验证身份证号码

    c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习

    SQL 语法分析,正则表达式解析C#文件;正则表达式实现的语法分析引擎

    实现一个正则表达式解析引擎需要理解正则表达式的语法和行为,以及如何在C#中使用这些概念。引擎通常会包含一个解析方法,该方法接受一个字符串输入,使用正则表达式进行匹配,并返回匹配的结果。同时,可能还需要...

    C# 最全的日期正则表达式,没有之一

    ### C# 中日期正则表达式的全面解析 #### 1. 概述 本文主要探讨在C#中如何构建和使用日期的正则表达式。虽然C#提供了强大的日期处理库,例如`DateTime`和`Calendar`类,但在某些特定场景下,如需要对输入的文本...

    C#/.Net正则表达式测试工具

    DotNet正则表达式测试工具,基于.net1.1开发,vista以上操作系统绿色免安装。 用于编写正则表达式时进行测试,支持正则选项(是否忽略大小写、是否多行模式)、支持正则替换

    C#正则表达式集合C# 正则表达式 集合C# 正则表达式 集合C# 正则表达式 集合

    C#是一种广泛使用的面向对象编程语言,它支持丰富的功能,包括正则表达式的使用。正则表达式是一种强大的文本匹配工具,可以用来验证、搜索或替换符合某个模式的字符串。在C#中,正则表达式的实现主要依赖于.NET ...

    邮箱及密码的正则表达式验证(C#)

    2. **验证方法**:在C#中,你可以使用`Regex.IsMatch()`函数来验证邮箱地址是否符合正则表达式: ```csharp string email = "example@example.com"; if (Regex.IsMatch(email, EmailRegex)) { Console....

    C#计算器-使用正则表达式解决

    用户可以通过编译和运行这些代码,直接在本地计算机上体验使用正则表达式解析和计算的C#计算器。 总的来说,这个项目展示了如何结合C#编程语言和正则表达式技术来实现一个简单的计算器应用。通过这个项目,不仅可以...

    C#字符串和正则表达式参考手册

    2. 正则表达式对象:在C#中,使用`System.Text.RegularExpressions`命名空间下的`Regex`类来处理正则表达式。 3. 匹配操作:`Match`对象表示正则表达式与输入字符串的一个匹配。`Regex.IsMatch(input, pattern)`...

    C#实现正则表达式判断

    本项目"**C#实现正则表达式判断**"主要探讨了如何在C#中使用正则表达式进行模式匹配和验证。 首先,我们需要了解正则表达式的基础概念。正则表达式是由字符和特殊符号组成的字符串,这些字符和符号代表了一组可能的...

    C#正则表达式提取网页数据

    在IT行业中,C#是一种广泛使用的...总结,使用C#结合正则表达式从网页中提取数据是一项综合性的任务,涉及到网络通信、HTML解析、数据库操作等多个方面。熟练掌握这些知识点,将有助于你构建高效的数据抓取和处理系统。

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间中的 Regex 类来实现正则表达式的操作。 知识点 1:正则表达式替换字符串 在上面的代码中,我们可以看到一个名为 RegexReplace 的方法,该方法...

    c#使用正则表达式验证两位小数

    在C#编程中,正则表达式是一种强大的文本匹配工具,可以用来验证字符串是否符合特定的模式。在本例中,我们关注的是如何使用正则表达式来验证一个数字是否精确到两位小数。这对于处理财务数据、计算或输入验证等场景...

    正则表达式生成器C#源码.rar

    这里用C#实现了正则表达式相关功能,并记录了所有的正则表达式的相关符号,是一个不可多得的正则表达式生成工具,这个工具适用3种场合: 1.对于初学正则表达式的朋友,这个工具适合你 2.需要C#正则表达式示例代码的...

    C#正则表达式语法大全

    C#正则表达式语法大全涵盖了在C#编程语言中使用正则表达式进行文本匹配、提取、替换等操作所必需的语法知识。正则表达式是一种强大的文本处理工具,它可以描述字符串的模式,让我们能够执行复杂的搜索和匹配操作。 ...

    c# 正则表达式生成工具 源代码

    9. **代码解释和示例**:源代码可能包含了一些示例代码和注释,说明了如何使用正则表达式进行匹配、替换等操作,以及如何结合C#的其他特性,如LINQ,来处理匹配结果。 10. **错误处理和性能优化**:正则表达式有时...

    利用正则表达式巧妙解析度分秒格式字符串

    在本话题中,我们将探讨如何利用C#中的正则表达式来巧妙地解析度分秒格式的字符串,将其转换为统一的度数表示。 首先,度分秒(DMS,Degrees-Minutes-Seconds)是一种常见的角度表示方式,特别是在地理坐标系统中。...

Global site tag (gtag.js) - Google Analytics