找回密码
 加入
搜索
查看: 9336|回复: 19

[效率算法] 求教正则提取网页文字 [已解决]

 火.. [复制链接]
发表于 2011-11-16 16:42:00 | 显示全部楼层 |阅读模式
本帖最后由 tsys 于 2011-11-16 19:40 编辑

链接是 :
<a href="http://health.sohu.com/" target="_blank">搜狐健康</a>
<a href="http://www.zhenai.com/901685.html" target="_blank">珍爱婚恋网</a>
...........
想要提取:搜狐健康  珍爱婚恋网 这类文字,望赐教
发表于 2011-11-16 16:52:17 | 显示全部楼层
#include <Array.au3>
Local $Str = _
                '<a href="http://health.sohu.com/" target="_blank">搜狐健康</a>' & @CRLF & _
                '<a href="http://www.zhenai.com/901685.html" target="_blank">珍爱婚恋网</a>' & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?<=>)[^<\v]+', 3)
;If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
发表于 2011-11-16 17:00:57 | 显示全部楼层
我觉得楼主应该会啊。。。
 楼主| 发表于 2011-11-16 17:27:25 | 显示全部楼层
回复 1# tsys

A版你好,以下是我要提取文字的网站
http://123.sogou.com/

如果整页提取的话,会出现部分问题,取到不相干内容。能否帮忙重新优化下表达式,只是表达式就好,代码我自己可以搞定,谢谢
 楼主| 发表于 2011-11-16 17:30:25 | 显示全部楼层
本帖最后由 tsys 于 2011-11-16 17:31 编辑

回复 3# lixiaolong

不错,我曾经确实成功提取过,不过不好意思,那也是百度告诉我的,看见正则就头痛,但是还需要它。

评分

参与人数 1金钱 +10 收起 理由
lixiaolong + 10 加油!

查看全部评分

发表于 2011-11-16 17:32:11 | 显示全部楼层
回复  tsys

A版你好,以下是我要提取文字的网站


如果整页提取的话,会出现部分问题,取到不相干内 ...
tsys 发表于 2011-11-16 17:27


什么是不相干内容呢?
 楼主| 发表于 2011-11-16 17:35:46 | 显示全部楼层
回复 6# afan

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-11-16 17:38:23 | 显示全部楼层
回复 7# tsys
(?<=>)[^<\v"{}]+(?=<)
&nbsp; 之类的是需要转码的,不在此考虑
 楼主| 发表于 2011-11-16 17:41:19 | 显示全部楼层
回复 8# afan

多谢A版,本人知识浅薄,还请谅解,其余问题,我自己想办法处理
发表于 2011-11-16 18:59:28 | 显示全部楼层
回复 5# tsys

哦,我也在学正则,正则真是头痛。。。加油啊!
发表于 2011-11-16 19:19:21 | 显示全部楼层
#include <Array.au3>
Local $Str = _
                '<a href="http://health.sohu.com/" target="_blank">搜狐健康</a>' & @CRLF & _
                '<a href="http://www.zhenai.com/901685.html" target="_blank">珍爱婚恋网</a>' & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '<a.+>(.+)</a>', 3)
;If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
发表于 2011-11-16 19:21:41 | 显示全部楼层
回复 2# afan
afan大大的正则表达式还是没有看懂,我的正则表达式是不是在停留在初级阶段啊?
$Test = StringRegExp($str, '<a.+>(.+)</a>', 3)
发表于 2011-11-17 00:15:57 | 显示全部楼层
回复 12# xms77


    你的正则很厉害,能否教我?
发表于 2011-11-17 09:28:24 | 显示全部楼层
回复 10# lixiaolong
正则确实很难,我只学了一端时间就OVER了,哎....
发表于 2011-11-17 11:34:42 | 显示全部楼层
回复 13# hzxymkb
版主大人在开我的玩笑了,我才学了个皮毛,Afan大大的表达式都看不懂,哎,谜一样的正则啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-21 01:36 , Processed in 0.092841 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表