有个网页提取相关内容 大家看看能不能帮下
我想提取一个网页的搜索结果http://www.soso.com/q?pid=s.idx&ch=s.idx&w=autoit
想提取 搜索结果的标题及url 请问复杂吗
我看了下代码 好像有点规律 比如 他第一个搜索 为 <liclass="topsp">
<a href="http://baike.baidu.com/view/239490.htm" id="res0" onClick="reportUrl(this,'1','1');st_get(this,'w.r',1);" target="_blank"><em>autoit</em>_百度百科</a></h3><p><em>AutoIt</em> 这个就是他标题 和地址了 每一项都是<li >和</li>标记起来的,可以通过这个标记将网页进行拆分,然后从每一项中提取相应的内容~
我只能想到这个比较笨的办法,不知道LZ的“复杂”是什么概念~ #include <INet.au3>
#include <Array.au3>
$Url = 'http://www.soso.com/q?pid=s.idx&ch=s.idx&w=autoit'
ToolTip('正在获取源码,请稍候……')
$str = _INetGetSource($Url)
$str = StringRegExpReplace($str, '<em>|</em>', '')
$sR = StringRegExp($str, '"([^\"]+)"\hid="res.+?target="_blank">(.+?)<span', 3)
If @error Then Exit MsgBox(0, 0, '未找到匹配~')
ToolTip('')
_ArrayDisplay($sR, '链接&标题') 万能的 正则啊 回复 3# afan
发现个问题
标题好像没取干净 把后面的也提取了
版主能否介绍下2个 正则的 解释啦 回复afan
发现个问题
标题好像没取干净 把后面的也提取了
lele9013 发表于 2010-8-15 14:17 http://www.autoitx.com/images/common/back.gif
哪个? 我自己 搞定了 谢谢版主啊
你原先那个 除了标题 还把后面的介绍也提取了
$sR = StringRegExp($str, '"([^\"]+)"\hid="res.+?targ', 3)
$sR1 = StringRegExp($str, 'et="_blank">(.+?)</a></h3><p>', 3)
这样就可以了。。。$str = StringRegExpReplace($str, '<em>|</em>', '') 请问这句是干嘛用的 回复 7# lele9013
我这没这问题
倒是你改的确是包含后面的N多字符… 难道网页源码有异?
$str = StringRegExpReplace($str, '<em>|</em>', '') 是删除标题中的高亮代码
页:
[1]