初步做了一下,楼主自行扩展吧。
#include <array.au3>
#include <string.au3>
#include <INet.au3>
$s_URL='http://top.news.sina.com.cn/ws/GetTopDataList.php?top_type=day&top_cat=www_all&top_time=20101104&top_show_num=100&top_order=ASC&js_var=all_1_data'
$soure=_INetGetSource ( $s_URL )
FileWrite('url.txt',$soure)
;$soure=FileRead('soure.txt')
$s_array=StringRegExp($soure,'{(.*?)}',3)
Local $temp_str,$temp,$temp_s,$string
Local $array[UBound($s_array)][5]
For $i=1 To UBound($s_array)-1
$temp_str=''
$array[$i][0]=$s_array[$i]
$temp=StringRegExp($s_array[$i],'"(.*?)"',3)
$array[$i][1]=hextostring($temp[3])
$array[$i][2]=hextostring($temp[5])
$array[$i][3]=url($temp[9])
$array[$i][4]=url($temp[11])
Next
_ArrayDisplay($array)
Func Hextostring($string)
Local $temp_str,$temp_s
$temp_s=StringSplit($string,'\u',3)
$string=''
For $n=1 To UBound($temp_s)-1
If StringLen($temp_s[$n])<>4 Then
$temp_s[$n]=ChrW('0x'&StringMid($temp_s[$n],1,4))&StringMid($temp_s[$n],5)
$string&=$temp_s[$n]
Else
$temp_s[$n]=ChrW('0x'&$temp_s[$n])
$string&=$temp_s[$n]
EndIf
Next
Return $string
EndFunc
Func url(ByRef $string)
Local $url
$string=StringReplace($string,'\/','/')
Return $string
EndFunc
|