找回密码
 加入
搜索
查看: 4559|回复: 2

[AU3基础] 数组去重复并写入ini文件

[复制链接]
发表于 2012-6-17 08:30:05 | 显示全部楼层 |阅读模式
本帖最后由 ROUSTAR31 于 2012-6-17 08:31 编辑

获取网站:http://windows.microsoft.com/zh- ... p-background?T1=all
的源代码,并批量获取壁纸地址


$Source = _INetGetSource($Sourceurl)
$imgurls = StringRegExp($Source, '(<a href=".+?jpg" class="navigationLink")', 3)
If Not @Error Then 
        For $i = 0 To UBound($imgurls) - 1
;接下来是需要处理重复的内容和写入ini文件
Next


得到的字符串$imgurls是类似这样的:<a href="http://res1.windows.microsoft.com/resbox/en/Windows/main/1e0802ca-803a-4d0a-b706-518472170d1f_5.jpg" class="navigationLink"

现在要将开头的<a href="去掉,后面的从jpg引号开始去掉,得到图片地址:
http://res1.windows.microsoft.com/resbox/en/Windows/main/1e0802ca-803a-4d0a-b706-518472170d1f_5.jpg
而且得到的数组里面有重复,需要去重复,并写入ini文件。

解决的加分,顺便问下,数组处理完成,调用下载批量下载可否显示下载速度和进度?
发表于 2012-6-17 10:30:00 | 显示全部楼层
$Source = _INetGetSource($Sourceurl)
$imgurls = StringRegExp($Source, '(<a href=".+?jpg" class="navigationLink")', 3)
If Not @Error Then 
        $dic=ObjCreate("scripting.dictionary")
    For $i = 0 To UBound($imgurls) - 1
                $dic($imgurls[$i])=""
        Next
        $imgurls=$dic.keys
        $dic=0
;接下来是写入ini文件

ElseIf
试下
发表于 2012-6-17 10:32:24 | 显示全部楼层
不要想复杂了~
#include <Array.au3>
Local $sURL = 'http://windows.microsoft.com/zh-cn/windows/downloads/personalize/wallpaper-desktop-background?T1=all'
Local $oHTTP = ObjCreate('microsoft.xmlhttp')
$oHTTP.Open('get', $sURL, 0)
$oHTTP.Send()
Local $Str = BinaryToString($oHTTP.responseBody, 4)
Local $aSR = StringRegExp($Str, 'href="([^"]+?jpg)".+?\s+.+?title="([^"]+)', 3)
If @error Then Exit
_ArrayDisplay($aSR, UBound($aSR))
;------ 以下添加批量下载任务到迅雷
Local $oTd = ObjCreate('ThunderAgent.Agent.1')
If IsObj($oTd) Then
        For $i = 0 To UBound($aSR) - 1 Step 2
                $oTd.AddTask4($aSR[$i], $aSR[$i + 1] & '.jpg', @ScriptDir & '\Wallpaper')
        Next
        $oTd.CommitTasks2(1)
EndIf

评分

参与人数 1金钱 +20 收起 理由
ROUSTAR31 + 20 我很赞同

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 07:24 , Processed in 0.088800 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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