从指定网页的源文件中获取相关内容,大体需要截取2部分吧,能用正则实现吗?(已解决)
本帖最后由 yiruirui 于 2010-11-22 10:03 编辑举个实际例子吧,
http://www.youxi369.com/game/CSS.htm 假如我想得到如下的结果
C:\Documents and Settings\Administrator\桌面\12.jpg
说下具体的思路:想从源文件中截取相关的内容,然后放到本地,比如1.txt,然后再改后缀名1.html,最后把这个1.html放到GUI上.
这个问题自己有个笨方法,就是逐行读取网页源文件,然后与自己想要的进行对比,比如这里我可以把与
<td align="center" class="name_t">CS:S 起源僵尸服</td>
这行比较,如果相等则从这里可以截取,同样的办法可以一直实现其他类似的截取.
但是,我最近对正则表达式接触的比较多,初学者想看看这个问题能否用正则进行解决,我感觉肯定能,所以特地到此来发帖咨询,恳请正则高手指点!比如A斑竹就是正则高手!
这个是手动截取后的txt文件然后转换为html文件然后嵌套在GUI上的效果! 回复 2# 水木子
多谢水木斑竹!能用一个表达式把两部分都实现吗?还是必须得用两个来实现这个? 对 html 文件不了解~ LZ直接说要截取哪些部分段好了,我的正则只是菜鸟级,不过对付这个应该还是可以~{:face (303):}
水木子 发表于 2010-11-16 11:06 http://www.autoitx.com/images/common/back.gif
水版进步神速。 回复 5# afan
多谢A斑竹!截取两部分,分别如下:以
第一部分:这里以 http://www.youxi369.com/game/CSS.htm 为例子说明.
<td valign="top"><table width="100%" border="0" cellpadding="3" cellspacing="0" class="ttline">
<tr>
<td width="67" align="center" valign="top" class="graybg"><strong>英文名称</strong></td>
<tdalign="left" valign="middle">CSS</td>
<td width="255" rowspan="7" align="right"><a href="http://pic.ali213.net/?dtyx" target="_blank"><img src="/game_img/css.jpg" width="250" height="208" /></a></td>
</tr>
<tr>
<td width="67" align="center" valign="middle" class="graybg"><strong>游戏类型</strong></td>
<td align="left" valign="middle">飞行射击</td>
</tr>
<tr>
<td width="67" align="center" valign="middle" class="graybg"><strong>游戏语言</strong></td>
<td align="left" valign="middle">简体中文</td>
</tr>
<tr>
<td width="67" align="center" valign="middle" class="graybg"><strong>游戏大小</strong></td>
<td align="left" valign="middle">1413.12M</td>
</tr>
<tr>
<td align="center" valign="middle" class="graybg"><strong>官方站点</strong></td>
<td align="left" valign="middle"><a href="" target="_blank">点击访问</a></td>
</tr>
<tr>
<td width="67" align="center" valign="middle" class="graybg"><strong>整理时间</strong></td>
<td align="left" valign="middle">2010-06-10</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="3" cellspacing="1" class="ttline">
<tr>
<td width="67" align="center" valign="middle" class="graybg" ><strong>解压密码</strong></td>
<td align="left" valign="middle" ><table width="100%" border="0" cellpadding="3" cellspacing="1" class="ttline"><tr><td align="left" valign="middle">www.youxi369.com</td><td align="left" valign="middle" width="250"><a href="/help.html" target="_blank"><font color="red">Http下载帮助</font></a> <a href="/bthelp.html" target="_blank"><font color="red">BT下载帮助</font></a> <a href="http://gl.ali213.net/?dtyx" target="_blank"><font color="red">查看游戏攻略</font></a></td></tr></table></td>
</tr>
第2部分:
<tr>
<td width="67" align="center" valign="middle" class="graybg"><strong>游戏介绍</strong></td>
<td align="left" valign="middle"><p><strong><span style="font-size: large"><span style="color: #ff0000">注意:游戏安装完成后,在游戏安装的根目录中有“CS起源插件lil174合集白金汉化收藏版”,请自己选择喜欢的插件包安装插件即可!</span></span></strong></p>
<p>【游戏介绍】<br />
相信很多高手都早已经玩上了这款游戏,但依旧有很多朋友没有玩过。</p>
<p>此版本不需要STEAM,不需要正版,即可联网+单机模式!</p>
<p>【配置要求】<br />
CPU:单核P4 2.4GHz 以上<br />
内存:512MB以上<br />
显卡:128MB支持DX9 3D加速卡 <br />
操作系统:Windows 2000/XP/VISTA/ WIN7</p>
<p>【游戏截图】</p>
<p style="text-align: center"><img alt="" src="http://www.925youxi.com//info/images/2010/06/32800000.jpg" /></p>
<p style="text-align: center"><img alt="" src="http://www.925youxi.com//info/images/2010/06/69532900.jpg" /></p>
<p style="text-align: center"><img alt="" src="http://www.925youxi.com//info/images/2010/06/19521800.jpg" /></p>
<p style="text-align: center"><img alt="" src="http://www.925youxi.com//info/images/2010/06/76733400.jpg" /></p>
<p style="text-align: center"><img alt="" src="http://www.925youxi.com//info/images/2010/06/38941200.jpg" /></p></td>
</tr>
</table>
你考虑考虑看行吗?3Q! 本帖最后由 水木子 于 2010-11-16 13:38 编辑
回复 6# lpxx
多亏了大家的帮助和指导。
水木子现在还是菜鸟一只! 本帖最后由 afan 于 2010-11-16 14:32 编辑
表达式(?s)(?<=>\v{2})(<td.+?攻略.+?)(?=\v{2}<)(?:.+?/tr>\v)(<.+?</table>) 回复 5# afan
你要是菜鸟级,论坛有多少人还没入门呢。 回复 9# afan
首先非常感谢A斑竹!这两天感冒了,没来得及回帖子!
你的这个正则表达式对这个网页完全够用了.
但是我想来个更通用点的,比如:
对这个网站:
http://www.youxi369.com/game/csol.htm
http://www.youxi369.com/game/esfcn.htm
..等等,都是类似的,想要获取的内容 也是两部分.
但是用你上面的那个正则表达式只能获得第一部分内容,游戏介绍获取不到,
不知道你能不能综合写个更通用的?可以把两部分都截取出来的?谢谢,希望我的问题能得到你的考虑! 观察了都有 介绍 这两个字,是不是应该在正则中加入"介绍"来隔离? 回复 11# yiruirui
试下(?s)(?<=>\v{2})(<td.+?攻略.+?)(?=\v{2}<)(?:.+?/tr>\v)(<tr>\v<td w.+?</table>) 回复 13# afan
非常感谢A斑竹!正则我则么学不出来样子呢........ 没入门的人,在看天书……
页:
[1]