命令行下批量下载网易相册

来源:互联网 发布:minecraft java版本 编辑:程序博客网 时间:2024/04/29 05:33
@echo off
cls
echo.               
echo.                           网易相册批量下载 V0.01
echo.                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
echo.
:name
echo.输入你要从PHOTO.163.COM下载的相册用户名(e.g. quez):  
set /p name=
del _tmp0_%name% _tmp1_%name% 2>nul
setlocal ENABLEDELAYEDEXPANSION
curl -s -i
http://photo.163.com/openalbum.php?username=%name% |findstr "Location:" >nul
if %errorlevel% == 0  ( echo.————————————————————————————————————————
echo.用户%name%的相册不存在!
echo.
echo.———————————————————————————————————————— && goto name)
md %name% 2>nul
set m=0
echo.
echo.————————————————————————————————————————
echo.正在计算相册页数...
:pages
set /a m+=1
curl -s
http://photo.163.com/openalbum.php?username=%name%^&page=!m! |findstr "images/next" >nul
if %errorlevel% == 0  goto pages
set /a mn=!m!*16
echo.
echo.共!m!页待下载.目录数不超过!mn!个.
echo.
echo.————————————————————————————————————————
echo.正在读取目录信息...
echo.
if !m! == 1 (curl -s
http://photo.163.com/openalbum.php?username=%name% |findstr "photo.163.com/%name%" >_tmp0_%name%) else curl -s http://photo.163.com/openalbum.php?username=%name%^&page=[1-!m!] |findstr "photo.163.com/%name%" >>_tmp0_%name%
for /f "delims=" %%i in (_tmp0_%name%) do (
 set i=%%i
 set i=!i:^<a href=#!
 set i=!i:^<img src=#!
 set i=!i:^</a^>^</td^>=#!
 for /f "tokens=1,3 delims=#" %%a in ("!i!") do (
         set a=%%a
        curl -s
http://photo.163.com!a:~2,-2! |findstr "/</select/>" >_tmp1_%name%
  for /f "delims=" %%h in (_tmp1_%name%) do (
          set h=%%h
   if "!h:~-20,1!" == ">" (set n=!h:~-19,1!) else set n=!h:~-20,2!
  )
  if not defined n set n=1
  del _tmp1_%name% 2>nul
                echo.————————————————————————————————————————
                echo.正在创建目录...
                echo.
                if !n! == 1 (curl -s
http://photo.163.com!a:~2,-2! >_tmp1_%name%) else curl -s http://photo.163.com!a:~2,-2!^&page=[1-!n!] >>_tmp1_%name%
  for /f "tokens=2 delims=/>" %%g in ("%%b") do (
                      echo.————————————————————————————————————————
                      echo.正在下载 %%g 目录中的图片...
                      echo.
        md "%name%/%%g" 2>nul
        for /f "delims=" %%j in ('findstr "openpic" _tmp1_%name%') do (
                set j=%%j
                set j=!j:src=#!
         set j=!j:__scale__1_=#!
                set j=!j:alt=#!
                set j=!j:^>^<br=#!
                for /f "tokens=2-4 delims=#" %%c in ("!j!") do (
                 set c=%%c
          set d=%%d
          set e=%%e
          if /i "!e:~-5,4!" == "!d:~-17,4!" (set k=!e:~2,-5!) else set k=!e:~2,-1!
                 if not exist "%name%/%%g/!k!!d:~-17,4!" curl -o "%name%/%%g/!k!!d:~-17,4!" !c:~2!!d:~0,-13!
         )
        )
                      echo.
                      echo.目录 %%g 下载完成.
                      echo.
                      echo.————————————————————————————————————————
  )
  del _tmp1_%name% 2>nul
 )
)
endlocal
del _tmp0_%name% 2>nul
start %name%
原创粉丝点击