Board logo

标题: 如何加速从国外服务器下载图片? [打印本页]

作者: yu2n    时间: 2014-11-16 08:17     标题: 如何加速从国外服务器下载图片?

本帖最后由 yu2n 于 2014-11-16 08:20 编辑

如何加速从国外服务器下载图片?
用GoAgent代理发现更慢……
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set "MeDir=%~dp0"
  4. set "MeDir=%MeDir:~0,-1%"
  5. set "save_dir=%MeDir%\img"
  6. set "url_0=http://xz1.mm667.com/xz"
  7. for /l %%a in (1,1,100) do (
  8. set "url_1=000%%a"
  9. set "url_1=!url_1:~-2!"
  10. for /l %%b in (1,1,100) do (
  11. set "url_2=000%%b"
  12. set "url_2=!url_2:~-3!"
  13. set "url_3=!url_0!!url_1!/images/!url_2!.jpg"
  14. echo,!url_3!
  15. wget -c -x -t 5 "!url_3!" -P "%save_dir%"
  16. )
  17. )
  18. pause
复制代码
注:
1. Wget.exe 请自行下载。
2. 代码中的网址可能不安全,可能造成无法预料的后果,请不要轻易访问。(也许会有福利呢?……XD)
作者: bjc5233    时间: 2014-11-16 13:46

哈哈,收到祝福啦!!!
另外问一句,还有吗?
作者: 523066680    时间: 2014-11-30 10:47

本帖最后由 523066680 于 2014-11-30 10:50 编辑

开5个进程?比如一个WGET 是30KB/S 其实5个进程的话各自也差不多是20-30KB/S
以前用批处理写过批量下H站封面图 ,后来感觉很低俗,连脚本一起被我删掉了。

大致就是循环里面建立一个 递增变量i
i%5=0 的时候在当前进程wget , 非0的时候start 另开进程wget
因为各个进程下载速度差不多,当前进程的下载会产生延时效果,进程不会很快爆发
一般在5-10个进程浮动。
作者: yu2n    时间: 2014-11-30 11:41

本帖最后由 yu2n 于 2014-11-30 13:35 编辑
开5个进程?比如一个WGET 是30KB/S 其实5个进程的话各自也差不多是20-30KB/S
以前用批处理写过批量下H站封 ...
523066680 发表于 2014-11-30 10:47

感谢 523066680 版主的提醒,下面是开同时开10个 wget.exe 进程的方法:
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set "MeDir=%~dp0"
  4. set "MeDir=%MeDir:~0,-1%"
  5. set "save_dir=%MeDir%\img"
  6. set "url_0=http://xz1.mm667.com/xz"
  7. for /l %%a in (1,1,100) do (
  8.   set "url_1=000%%a"
  9.   set "url_1=!url_1:~-2!"
  10.   for /l %%b in (1,1,100) do (
  11.     set "url_2=000%%b"
  12.     set "url_2=!url_2:~-3!"
  13.     set "url_3=!url_0!!url_1!/images/!url_2!.jpg"
  14.     rem 限制 10 个 wget.exe 进程
  15.     set/a n=0
  16.     for /f %%c in ('tasklist/nh') do (if /i "wget.exe"=="%%c" set/a n+=1)
  17.     if !n! geq 9 (
  18.       wget -c -x -t 5 "!url_3!" -P "%save_dir%"
  19.     ) else (
  20.       start /min "" wget -c -x -t 5 "!url_3!" -P "%save_dir%"
  21.     )
  22.   )
  23. )
  24. pause
复制代码

作者: 523066680    时间: 2014-11-30 11:57

本帖最后由 523066680 于 2014-11-30 12:03 编辑

回复 4# yu2n


    start 的句子加上/min 参数,窗口自动最小化,就不会影响其他应用窗口
作者: CrLf    时间: 2014-11-30 14:01

回复 3# 523066680


    你要相信楼主是纯洁的
作者: 523066680    时间: 2014-11-30 14:59

回复 6# CrLf


    我只是举个栗子
作者: yu2n    时间: 2014-11-30 15:09

本帖最后由 yu2n 于 2014-11-30 15:11 编辑

回复 2# bjc5233

XD
没有这种了……

其他的要翻墙。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2