huangningmeng 发表于 2012-7-31 12:12:40

如何才能获取页面中的信息

本人初学AU3,在工作,希望能通过AU3自动获取页面中的“订单号”,以及相关信息,保存至Excel表格中,如图中红框所示


相应的网页如下


请各位大神帮忙解决一下,谢谢

whitehead 发表于 2012-7-31 14:57:28

用正则提取该网页源码中信息不难

huangningmeng 发表于 2012-7-31 17:23:41

回复 2# whitehead

本人正则还不是很会,能否帮忙实现一下,谢谢

xlj310 发表于 2012-7-31 18:42:07

回复 3# huangningmeng

简单的我会,抛砖引玉吧~

#include<array.au3>

$text=FileRead("ord.txt")
;订单信息
$OrdInfo=StringRegExp($text,"(?ms)<b>(\d+).+客房面积:(\d+平方米).+床铺尺寸:([^<]+).+所在楼层:(.+层).+有无窗户:([^<]).+加  床:([^<]+)",3)
_ArrayDisplay($OrdInfo,"订单信息")


;订单号                = $Ord

;客房面积        = $Ord

;床铺尺寸        = $Ord

;所在楼层        = $Ord

;有无窗户        = $Ord

;加床                = $Ord



代码中Ord.txt是楼主的附件转换成原代码的TXT记事本,实际使用时请自行修改代码变为读取网页源代码。
我把Ord.txt也打包上传吧!

shenrenba 发表于 2012-8-1 09:57:13

huangningmeng 发表于 2012-8-1 10:15:40

回复 4# xlj310

直接获取网页内的所有代码,然后用正则为何取不出来#include <IE.au3>
#include <Array.au3>
$oIE = _IEAttach ("预订-提交成功") ;前提是把那个网页用IE打开
$otext=_IEDocReadHTML($oIE);能正常获取
MsgBox(0,"网页内容",$otext);查看获取的内容
$OrdInfo=StringRegExp($otext,"(?ms)<b>(\d+).+客房面积:(\d+平方米).+床铺尺寸:([^<]+).+所在楼层:(.+层).+有无窗户:([^<]).+加  床:([^<]+)",3)
_ArrayDisplay($OrdInfo,"订单信息")运行如上代码后无返回值出来

xlj310 发表于 2012-8-2 00:02:47

回复 6# huangningmeng


    #include <IE.au3>
#include <Array.au3>
$oIE = _IEAttach ("预订-提交成功") ;前提是把那个网页用IE打开
$otext=_IEDocReadHTML($oIE);能正常获取
;MsgBox(0,"网页内容",$otext);查看获取的内容
$OrdInfo=StringRegExp($otext,"(?msi)<b>(\d+).+客房面积:(\d+平方米).+床铺尺寸:([^<]+).+所在楼层:(.+层).+有无窗户:([^<]).+加  床:([^<]+)",3)
_ArrayDisplay($OrdInfo,"订单信息")

xlj310 发表于 2012-8-2 00:04:33

请务必使浏览器的核心为IE核心,否则_IEAttach就会失败
页: [1]
查看完整版本: 如何才能获取页面中的信息