|
本帖最后由 minterz 于 2009-5-12 10:50 编辑
做一个小软件,实时获取skype拨打记录。现在遇到问题了,请各位高手援手。。。
这个小软件的目的是实时获取skype拨打记录。我采用的是post的方式,$oHTTP.responseText返回后,好像是网页源码,而不是ie obj对象。这个时候用<ie.au3>里面的_IETableGetCollection 和_IETableWriteToArray 就会出错。
当然,折中的办法也有,就是把获取的源码写入.htm文件,然后用_iecreate()打开,但这样速度就慢多了。
为了提高速度,试着直接获取table部分,然后写入.htm,打开就快多了。。
因此,请教如下:
1、如果用正则表达式获取 <table> 。。。</table>数据(要包含<table>和</table尾部标签),但似乎有空格,tab,换行等,获取不了。我的表达式是这样的,
$oTa1=$oHTTP.responseText
$array = StringRegExp($oTa1, '(?<=class="list">).*(?=</table>)', 1, 1)
该如何修改?
网页的table部分源码是这样的:
<table class="list">
<tr>
<th>Date, time</th>
<th><h3>Item</h3></th>
<th>Type</th>
<th>Rate/min</th>
<th>Duration</th>
<th class="price">Amount*</th>
</tr>
<tr class="even">
<td>May 09 14:37</td>
<td>
<span dir="ltr">+8613888888</span><span class="small">, China - Mobile</span> </td>
<td>
SMS </td>
<td><span class='ccy'>$</span>0.055</td>
<td>2</td>
<td class="price"><span class='ccy'>$</span>0.110</td>
</tr>
<tr class="odd">
<td>May 06 21:35</td>
<td>
<span dir="ltr">+8611111</span><span class="small">, China</span> </td>
<td>
Call </td>
<td></td>
<td>00:00</td>
<td class="price"><span class='ccy'>€</span>0,000</td>
</tr>
</table>
2、另外,有没有全部使用$oHTTP = ObjCreate("microsoft.xmlhttp")来获取table信息的命令呢?google了半天,也没看到完整的这方面的资料,试了几个命令,au3都提示错误。
3、$oHTTP.responseText 这个获取的难道就是字符串嘛?如何能将获取的函数,直接转换成<ie.au3>能直接操作的对象呢?
谢谢。。。 |
|