找回密码
 加入
搜索
查看: 4137|回复: 7

[IE类操作] 有个网页提取相关内容 大家看看能不能帮下

  [复制链接]
发表于 2010-8-15 06:15:23 | 显示全部楼层 |阅读模式
我想提取一个网页的搜索结果

http://www.soso.com/q?pid=s.idx&ch=s.idx&w=autoit

想提取 搜索结果的标题及url 请问复杂吗

我看了下代码 好像有点规律 比如 他第一个搜索 为 <li  class="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>   这个就是他标题 和地址了
发表于 2010-8-15 12:48:15 | 显示全部楼层
每一项都是<li >和</li>标记起来的,可以通过这个标记将网页进行拆分,然后从每一项中提取相应的内容~
我只能想到这个比较笨的办法,不知道LZ的“复杂”是什么概念~
发表于 2010-8-15 13:31:37 | 显示全部楼层
#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, '链接&标题')
 楼主| 发表于 2010-8-15 14:15:14 | 显示全部楼层
万能的 正则啊
 楼主| 发表于 2010-8-15 14:17:41 | 显示全部楼层
回复 3# afan


    发现个问题

标题好像没取干净 把后面的也提取了


版主能否介绍下  2个 正则的 解释啦
发表于 2010-8-15 14:19:10 | 显示全部楼层
回复  afan


    发现个问题

标题好像没取干净 把后面的也提取了
lele9013 发表于 2010-8-15 14:17


哪个?
 楼主| 发表于 2010-8-15 14:35:21 | 显示全部楼层
我自己 搞定了 谢谢版主啊

你原先那个 除了标题 还把后面的介绍也提取了

$sR = StringRegExp($str, '"([^\"]+)"\hid="res.+?targ', 3)


$sR1 = StringRegExp($str, 'et="_blank">(.+?)</a></h3><p>', 3)



这样就可以了。。。$str = StringRegExpReplace($str, '<em>|</em>', '') 请问这句是干嘛用的
发表于 2010-8-15 14:47:35 | 显示全部楼层
回复 7# lele9013

我这没这问题

倒是你改的确是包含后面的N多字符… 难道网页源码有异?

$str = StringRegExpReplace($str, '<em>|</em>', '') 是删除标题中的高亮代码

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 20:19 , Processed in 0.089813 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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