使用正则表达式解析的初步体会(固定格式网页解析)

youejing0086

youejing0086

2016-01-29 13:24

使用正则表达式解析的初步体会(固定格式网页解析),使用正则表达式解析的初步体会(固定格式网页解析)
用IE WebControl解析网页得到特定网页中的特定数据:
Set oDocument = Form2.m_IE.Document
Set oelement = oDocument.Forms("searchdetail")
Set oListTableElement = oelement.children(0).children(0)
这样的好处是简单,但坏处是:如何读取以及节点值究竟是什么含意这些信息,不太好抽取出来放到外面,作为灵活配置的文件。
因为它属于一个Childnodes一个Childnodes这么遍历的,无法灵活设定深度以及含义。
又体验了一把正则表达式,专门处理了北京式门户的站点HTML,由于北京式门户的12个省总排行榜页面中总包含这样的固定代码:




发现下面的式子可以把一系列值解析到一个又一个的MatchCollection中。
我用的是"The Regulator"工具,试验结果如下:
也就是Collection“hiddentonenames”总是XX名的集合,按序排列;
Collection“hiddenspnames”总是XX名的集合,按序排列;
Collection“hiddensingers”总是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页面爬行实践》精彩文章!
展开更多 50%)
分享

猜你喜欢

使用正则表达式解析的初步体会(固定格式网页解析)

电脑网络
使用正则表达式解析的初步体会(固定格式网页解析)

解析正则表达式(原创)

ASP
解析正则表达式(原创)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JavaScript 正则表达式解析

Web开发
JavaScript 正则表达式解析

正则表达式格式

Web开发
正则表达式格式

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JavaScript中的正则表达式解析

Web开发
JavaScript中的正则表达式解析

正则表达式

Web开发
正则表达式

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

.NET策略是如何创建起来的

.NET策略是如何创建起来的

《仙境传说奥德赛》白金攻略【巴士速攻】

《仙境传说奥德赛》白金攻略【巴士速攻】
下拉加载更多内容 ↓