找回密码
 加入
搜索
查看: 4721|回复: 10

[IE类操作] [已解决]请教个正则问题,

  [复制链接]
发表于 2010-7-15 09:10:55 | 显示全部楼层 |阅读模式
本帖最后由 傻娃 于 2010-7-16 09:46 编辑

#Region AutoIt3Wrapper 预编译参数(常用参数)
#AutoIt3Wrapper_Icon=                                                                                 ;图标,支持EXE,DLL,ICO
#AutoIt3Wrapper_OutFile=                                                                        ;输出文件名
#AutoIt3Wrapper_OutFile_Type=exe                                                        ;文件类型
#AutoIt3Wrapper_Compression=4                                                                ;压缩等级
#AutoIt3Wrapper_UseUpx=y                                                                         ;使用压缩
#AutoIt3Wrapper_Res_Comment=                                                                 ;注释
#AutoIt3Wrapper_Res_Description=                                                        ;详细信息
#AutoIt3Wrapper_Res_Fileversion=                                                        ;文件版本
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=p                                ;自动更新版本  
#AutoIt3Wrapper_Res_LegalCopyright=                                                 ;版权
#AutoIt3Wrapper_Change2CUI=N                                                   ;修改输出的程序为CUI(控制台程序)
;#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
;#AutoIt3Wrapper_Run_Tidy=                                                   ;脚本整理
;#AutoIt3Wrapper_Run_Obfuscator=                                                      ;代码迷惑
;#AutoIt3Wrapper_Run_AU3Check=                                                                 ;语法检查
;#AutoIt3Wrapper_Run_Before=                                                                 ;运行前
;#AutoIt3Wrapper_Run_After=                                                                        ;运行后
#EndRegion AutoIt3Wrapper 预编译参数设置完成
#cs ____________________________________

Au3 版本:
脚本作者:
        Email:
        QQ/TM:
脚本版本:
脚本功能:

#ce _______________脚本开始_________________

#include <inet.au3>

#include <Array.au3>

#include <file.au3>

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

#include <IE.au3>

_IEErrorHandlerRegister ()

GUICreate("", 500, 450, 10, 10, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)

$oIE = _IECreateEmbedded()

$web = "file://c:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/1.htm"

$GUIActiveX = GUICtrlCreateObj($oIE, -2, -2, 500, 420)

$Reload = GUICtrlCreateButton("刷 新", 0, 420, 80, 30)

$GUI_Button_Close = GUICtrlCreateButton("退 出", 420, 420, 80, 30)

createhtm()

$oIE.navigate($web)

$oIE.navigate($web)

$oIE.refresh

GUISetState(@SW_SHOW)

While 1

        $msg = GUIGetMsg()

        Select

                Case $msg = $GUI_Button_Close

                        ExitLoop

                Case $msg=$Reload

                        createhtm()

                        $oIE.navigate($web)

                    $oIE.refresh

        EndSelect

WEnd



Func createhtm()

        InetGet("http://www.autoitx.com/forum-4-1.html",@TempDir&"\temp.txt")

        $Str=FileRead(@TempDir&"\temp.txt")

        $sR = StringRegExp($str, "\<a\h\S*\h+title\=\'\S*\h+target\=\'\_blank\'\>\S*\<\/a\>", 3)

        For $i=0 To UBound($sR)-1

                $sR[$i]=StringReplace($sR[$i],"<a href='","<a href='http://www.autoitx.com/")&"<br>"

        Next

        _FileWriteFromArray(@TempDir&"\1.htm",$sR)

        If Not(FileExists(@TempDir&"\1.htm")) Then

                createhtm()

        EndIf

EndFunc




获取不到呢,刚学正则,请高手指点.
发表于 2010-7-15 09:54:31 | 显示全部楼层
你是想获取什么东东呢?
 楼主| 发表于 2010-7-15 10:49:18 | 显示全部楼层
回复 2# 水木子


    我想获取这个板块的帖子,然后在GUI里显示出来,
发表于 2010-7-15 11:36:18 | 显示全部楼层
最好别拿咱们论坛玩,多少会影响点浏览~
#include <INet.au3>
#include <Array.au3>

$Url = 'http://www.autoitx.com/forum-4-1.html'
Tooltip('正在获取源码,请稍候……')
$str = _INetGetSource($Url) 
$sR = StringRegExp($str, '\[\<.+>(.+)</a></span>', 3)
If @error Then Exit MsgBox(0, 0, '未找到匹配~')
Tooltip('')
_ArrayDisplay($sR, '标题')

评分

参与人数 1金钱 +30 收起 理由
水木子 + 30 学习啦!

查看全部评分

 楼主| 发表于 2010-7-15 12:05:27 | 显示全部楼层
谢谢楼上大哥,,

<th class="subject new">
<label>&nbsp;</label>
<em>[<a href="forumdisplay.php?fid=101&amp;filter=type&amp;typeid=14">杂货其他</a>]</em><span id="thread_672264"><a href="thread-672264-1-1.html">求购二手电动车</a></span>
</th>


如上,如果获取上面那个数字672264   该怎么写?   


这个是网址
http://bbs.zbgl.net/forum-101-1.html
 楼主| 发表于 2010-7-15 12:07:19 | 显示全部楼层
回复 4# afan


    我把(.+)往前移了移不行。
 楼主| 发表于 2010-7-15 12:11:13 | 显示全部楼层
回复 4# afan


$sR = StringRegExp($str, '\[\<.+>\<a\h+href=(.+)>*</a></span>', 3)


通过这样获取到一些,不知道引号用什么符号代替呢?
 楼主| 发表于 2010-7-15 12:24:01 | 显示全部楼层
还是搞不出怎么能弄的只获取数字
发表于 2010-7-15 12:38:14 | 显示全部楼层
你其实是需要“thread-672264-1-1.html”
StringRegExp($str, 'href=\"(thread-\d+-\d+-\d+.html)\">', 3)
发表于 2010-7-15 12:50:35 | 显示全部楼层
虽然还不懂,但是要顶
 楼主| 发表于 2010-7-16 09:46:47 | 显示全部楼层
回复 9# afan


    谢谢大哥,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-12 01:45 , Processed in 0.085258 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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