首页
社区
课程
招聘
[求助]求HTML格式解析思路
发表于: 2011-11-7 09:10 6381

[求助]求HTML格式解析思路

2011-11-7 09:10
6381
一个网页需要一些数据。。但是网页中的数据很多变。需要过滤很多东西。比如下面代码

[code=HTML]
<td rowspan=7 align="center"><font face="Verdana" size=2><b>10850 H</b><br>tp 7BG</td>
<td width=52 align="center"><br><br></td>
<td bgcolor="#ffffd0"><font face="Arial"><font size=2><b><i><a href="http://www.imn.iq/" target="homewin">Iraqi Media Net</a></i></b></td>
<td bgcolor="#ffffd0"><br></td>
<td bgcolor="#ffffd0"><font face="Verdana"><font size=2>DVB-S</font></td>
<td bgcolor="#ffffd0" colspan=2><font face="Verdana" size=1>27500-3/4<br></td>
<td bgcolor="#ffffd0"><font face="Verdana" size=1> <br></td>

[/code]

我只需要加粗的数据。

希望给一下思路

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看了一下楼主给出的HTML代码,具有下面的特点:都是网页中显示出来的非链接文本内容,均为Verdana字体字体大小分别为1和2,暂时没有发现有无别的特征。楼主可以考虑使用DOM,即文档对象模型来解析,给出上述多个特征,至少可以准确解析出10850 H和27500-3/4,至于后者要准确提取出27500,估计楼主需要考虑别的策略。关于DOM的资料楼主可以在网上搜索一下,基本上各种语言下面都有很强大的DOM解析库可供使用。
2011-11-7 09:32
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
难…不过楼上说的很好
2011-11-7 10:14
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
html是xml,你可以试试tinyxml
来解析,或者自己写一个解析类来解析,
我目前是用自己写的解析类来解析,但自己写的,总不是那么完善
2011-11-7 10:19
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
赞同,自己写解析类,高手啊。
tinyxml也算是个不错的DOM解析库,不过里面有一些小的bug,用的时候可以稍微修正一下。
2011-11-7 10:22
0
雪    币: 181
活跃值: (134)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
要解的是HTML。 解XML 难道可行???
2011-11-7 11:14
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
XML是HTML的超集,比如XML的标签可以任意,但在HTML中,只有特定的标签才有意义,浏览器才能解析,就这点区别吧。超集能解析,子集也可以解析啊。
2011-11-7 11:17
0
雪    币: 181
活跃值: (134)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
8
tinyxml 用不来。
2011-11-7 11:25
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
tinyxml是一个基于C++的轻量级的XML解析库,而且还是开放源代码的。你可以到它的官网上下载,下载完了以后我记得应该是有不超过6个.cpp文件,还有相应的头文件,把它们放到你的工程路径下就OK了啊。具体过程我记得不是太清楚了,不过网上有很多资料啊,即使是它的官方文档也足够用了,遇到问题可以自己去google一下就好了
2011-11-7 14:28
0
雪    币: 181
活跃值: (134)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
Thanks.   我也在想,有了2楼总结出来信息。还要考虑到网格的问题。
2011-11-7 16:33
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11

不知道这里考虑网格是指什么?如果是指要解析的内容的相对位置的话,应该还是可以从HTML语言的格式上着手;如果是出于网页的视觉特征的话,可能就需要一些别的思路了。
2011-11-7 16:38
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
这个,直接上正则,解析html过于复杂了。
2011-11-7 17:18
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
13
xml 的语法比 html 严格多了,直接解析不了的。
http://wenku.baidu.com/view/83ab5581d4d8d15abe234eaf.html
2011-11-7 18:20
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
如果是指html文档的规范性问题,那么可以考虑用htmlTidy试试,多少总能好点,不至于一棍打死吧。
不能否认有部分html解析不能用xml解析来完成,但这多半是在所处理的html页面极不规范或需要基于语义进行解析的情况。如果要处理的html页面结构化良好,或者解析的条件足够明确的话,那么html页面完全可以精确的解析,本人在C++和Java两种环境下都曾经实现过类似功能。
2011-11-7 19:59
0
雪    币: 161
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
直接上正则是最容易想到的办法,但如果需要的数据只存在于正文中的话,有什么好的办法来除去html标签里的噪音数据呢?
2011-11-7 20:02
0
游客
登录 | 注册 方可回帖
返回
//