找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22022|回复: 7

[问题求助] [已解决]vbs如何实现从网页中获取qq最新版本的下载链接并下载到指定目录?

[复制链接]
发表于 2016-4-1 18:38:14 | 显示全部楼层 |阅读模式
本帖最后由 ygqiang 于 2016-4-1 21:33 编辑

[已解决]vbs如何实现从网页中获取qq最新版本的下载链接并下载到指定目录?


1、exe软件原来是啥名字,下载下来就是啥名字。
2、exe软件下载到vbs文件所在的目录下。


实现目的:定期/全自动/傻瓜化下载最新版本的qq
  1. Set http=CreateObject("winhttp.winhttprequest.5.1")

  2. http.Open "GET","http://im.qq.com/pcqq/",False
  3. http.Send
  4. Set re=New RegExp
  5. re.Pattern="href=""(.{1,50}exe)"""
  6. downloadurl=re.Execute(http.ResponseText)(0).submatches(0)
  7. http.Open "GET",downloadurl,False
  8. http.Send
  9. Set objtemp = CreateObject("ADODB.Stream")
  10. objtemp.open
  11. objtemp.Type = 1
  12. objtemp.Write http.responsebody
  13. objtemp.SaveToFile "c:\000\qq.exe", 2
  14. objtemp.Close
  15. Set objTemp=Nothing
  16. 'MsgBox "下载完成,保存在c:\000\qq.exe"
复制代码

评分

参与人数 1PB -30 收起 理由
pcl_test -30 未按版规发帖

查看全部评分

发表于 2016-4-1 19:27:04 | 显示全部楼层
  1. re.Pattern="href=""(.+/(.+?\.exe))"""
  2. Set objMatch = re.Execute(http.ResponseText)(0)
  3. http.Open "GET",objMatch.submatches(0),False
  4. ...
  5. objtemp.SaveToFile objMatch.submatches(1), 2
复制代码
发表于 2016-4-1 20:00:22 | 显示全部楼层
  1. #="""
  2. julia自动下载QQ.jl
  3. 2016年4月1日 19:16:15 codegay
  4. """=#
  5. url=string("http://im.qq.com/pcqq/","?",time())
  6. download(url,"qq.html")
  7. f=open("qq.html")
  8. txt=readall(f)
  9. m=matchall(r"(?P<test>http://.*?.exe)",txt)
  10. fn=split(m[1],"/")
  11. download(m[1],fn[end])
复制代码
 楼主| 发表于 2016-4-1 20:35:43 | 显示全部楼层
本帖最后由 ygqiang 于 2016-4-4 08:33 编辑

回复 2# WHY


    多谢。解决了。。

1、exe软件原来是啥名字,下载下来就是啥名字。
2、exe软件下载到vbs文件所在的目录下。
3、如果已经存在exe同名/同体积软件,就不下载exe软件
  1. Set http=CreateObject("winhttp.winhttprequest.5.1")

  2. http.Open "GET","http://im.qq.com/pcqq/",False
  3. http.Send
  4. Set re=New RegExp
  5. re.Pattern="href=""(.+/(.+?\.exe))"""
  6. Set objMatch = re.Execute(http.ResponseText)(0)
  7. If CreateObject("Scripting.FileSystemObject").FileExists(objMatch.submatches(1)) Then Wscript.Quit
  8. 'MsgBox "存在同名"
  9. 'MsgBox "不存在同名"
  10. downloadurl=re.Execute(http.ResponseText)(0).submatches(0)
  11. http.Open "GET",objMatch.submatches(0),False
  12. http.Send
  13. Set objtemp = CreateObject("ADODB.Stream")
  14. objtemp.open
  15. objtemp.Type = 1
  16. objtemp.Write http.responsebody
  17. objtemp.SaveToFile objMatch.submatches(1), 2
  18. objtemp.Close
  19. Set objTemp=Nothing
  20. 'MsgBox "下载完成"


复制代码

评分

参与人数 1PB -30 收起 理由
pcl_test -30 勿重复贴码,发重复帖

查看全部评分

发表于 2016-4-1 21:54:03 | 显示全部楼层
  1. If CreateObject("Scripting.FileSystemObject").FileExists(objMatch.submatches(1)) Then Wscript.Quit
复制代码
 楼主| 发表于 2016-4-1 23:04:58 | 显示全部楼层
本帖最后由 ygqiang 于 2016-4-1 23:09 编辑

回复 5# pcl_test

多谢。应该放在7和8之间吧?
 楼主| 发表于 2016-4-2 09:41:15 | 显示全部楼层
回复 5# pcl_test


    请教下,什么条件下,这个vbs代码会失效?
不能下载最新qq版本了?
发表于 2016-4-2 19:28:04 | 显示全部楼层
回复 7# ygqiang


    老老实实把找门语言从基本学起啦.有基础看其它代码像看说明书似的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.047091 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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