找回密码
 加入
搜索
查看: 7039|回复: 14

[IE类操作] [已解决]如何自动提取某网页指定区域部分连接并将其文字与连接放到某个窗口?

  [复制链接]
发表于 2011-4-21 08:00:23 | 显示全部楼层 |阅读模式
本帖最后由 newuser 于 2011-4-21 13:30 编辑

可能我的叙述不是很清楚,请大家看图:

这是瑞星网站,我想把红色区域的部分获取过来,放到一个窗口内,不知道行不行?而且是动态的获取那种,就是瑞星网站出现变化,窗口信息也跟着变化?

本帖子中包含更多资源

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

×
发表于 2011-4-21 08:30:52 | 显示全部楼层
这个我也比较关注
发表于 2011-4-21 11:09:27 | 显示全部楼层
正则可以提取到。  首先获取整个 电脑知识区块的源代码,然后拆分每个链接
发表于 2011-4-21 11:24:29 | 显示全部楼层
本帖最后由 papapa314 于 2011-4-21 11:27 编辑

回复 1# newuser

楼主可试下以下示例代码,提取链接和链接文字。
要将结果导入listview中或者加入一个自动刷新的功能,相信楼主能够做到。


#include <IE.au3>

$oIE=_IECreate("http://www.rising.com.cn/",0,1,1)

$links=_IELinkGetCollection($oIE)

For $link In $links
        If StringInStr($link.href,"http://it.rising.com.cn/use/software/2011") Then
                MsgBox(0,$link.href,$link.outertext)
        EndIf
Next
 楼主| 发表于 2011-4-21 13:30:20 | 显示全部楼层
回复 4# papapa314
谢谢,没看出规律!
StringInStr($link.href,"http://it.rising.com.cn/use/software/2011")
就可以定位到我要找到的区域,呵呵!
 楼主| 发表于 2011-4-21 13:55:19 | 显示全部楼层
回复 3# lanfengc
谢谢,正则 又忘了!
 楼主| 发表于 2011-4-21 13:55:47 | 显示全部楼层
回复 2# pizigao
同路人,呵呵,我们共同努力!
 楼主| 发表于 2011-4-21 13:56:18 | 显示全部楼层
回复 4# papapa314

我会努力的!
发表于 2011-4-21 16:56:47 | 显示全部楼层
本帖最后由 骗子 于 2011-4-21 16:58 编辑

我也来个班门弄斧,其实就是打开瑞星的网站,只不过把其他的部分隐藏起来了

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
$oIE = _IECreateEmbedded()
GUICreate("rising", 280, 350,200, 200)
$GUIActiveX = GUICtrlCreateObj($oIE, -390, -970,700,1500)
_IENavigate($oIE,"http://www.rising.com.cn/")

$oIE.document.parentWindow.execscript("etabit2('tab2',4,2)")

GUISetState()
While 1

        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        Exit
        EndSelect
WEnd


本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +10 收起 理由
newuser + 10 别嫌少,钱不多了!

查看全部评分

发表于 2011-4-21 17:33:54 | 显示全部楼层
回复 9# 骗子


    呵呵,这个看起来不错。应该还有一种方法,提取这一块的源码,然后再用函数
_IEDocWriteHTML 写出来。

  有个问题想请教下:$oIE.document.parentWindow.execscript("etabit2('tab2',4,2)")
关于ie对象的这些属性和方法是从哪里查到的? 我找了一个IE对象函数大总结,但好像里面一些东西无法用在au3上。

http://wenku.baidu.com/view/14c1faf2f90f76c661371a10.html
发表于 2011-4-21 21:49:28 | 显示全部楼层
呵呵 ls几位好热心 支持一下
 楼主| 发表于 2011-4-22 07:56:57 | 显示全部楼层
回复 9# 骗子
对HTML并不懂,这个 ("etabit2('tab2',4,2)")  是从源代码中提取出来的吧,给解释一下吧!
发表于 2011-4-22 08:59:48 | 显示全部楼层
回复  骗子


    呵呵,这个看起来不错。应该还有一种方法,提取这一块的源码,然后再用函数
_IEDocW ...
papapa314 发表于 2011-4-21 17:33


$oIE.document.parentWindow.execscript("etabit2('tab2',4,2)")
这个是从论坛里看到的,忘了是哪位高手写的了,作用好像就是执行页面中的 javascript

etabit2('tab2',4,2)这个是在源代码中找到的
发表于 2011-4-22 09:04:31 | 显示全部楼层
其实我也不懂,就是东拼西凑出来的
$oIE.document.parentWindow.execscript("return etabit2('tab2',4,2)") 这个命令是在一个讨论如何运行网页中javascript的帖子中抄袭的
至于$GUIActiveX = GUICtrlCreateObj($oIE, -390, -970,700,1500) 这个是从一个讨论网易邮箱登陆的帖子中抄来的

回复 12# newuser
用火狐选定页面中的文本,右键点击,有一个“查看选中部分的源代码”的选项,点击就能看到了
<div class="TabBox">
            <div class="TabLinks">
              <ul>
                <li><a onclick="return etabit2('tab2',4,0)" onmousemove="return etabit('tab2',4,0)" id="tab2_btn_0" class="" href="#"> 最新资讯</a></li>
                <li><a class="" onclick="return etabit2('tab2',4,1)" onmousemove="return etabit('tab2',4,1)" id="tab2_btn_1" href="#">应用安全</a></li>
                <li><a class="" onclick="return etabit2('tab2',4,2)" onmousemove="return etabit('tab2',4,2)" id="tab2_btn_2" href="#">电脑知识</a></li>
                <li><a class="selected" onclick="return etabit2('tab2',4,3)" onmousemove="return etabit('tab2',4,3)" id="tab2_btn_3" href="#">病毒防治</a></li>   
              </ul>

            </div>
          </div>
=================================
执行$oIE.document.parentWindow.execscript("return etabit2('tab2',4,2)")
报错,后来把return 删了竟然成功了
 楼主| 发表于 2011-4-22 10:49:22 | 显示全部楼层
回复 14# 骗子
谢谢,什么都得看看,呵呵!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-2 08:30 , Processed in 0.091782 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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