Board logo

标题: [问题求助] 怎样用powershell批量下载公众号的图片 [打印本页]

作者: 小白龙    时间: 5 天前 16:10     标题: 怎样用powershell批量下载公众号的图片

我想下载下面的连续的图片到桌面上的ABC文件夹中, 没有找到规律, 求路过大佬支招
https://mp.weixin.qq.com/s/YtWEQ_kORUmh97sAEMwUjw
作者: flashercs    时间: 4 天前 14:00

  1. # 下载微信图片
  2. $ProgressPreference = 'SilentlyContinue'
  3. Add-Type -AssemblyName System.Web
  4. [System.Net.ServicePointManager]::SecurityProtocol = 'Tls, Tls11, Tls12'
  5. $dstdir = [io.path]::Combine([environment]::GetFolderPath([environment+specialfolder]::Desktop), 'ABC') # 下载保存目录
  6. $di = [io.directory]::CreateDirectory($dstdir)
  7. $result = Invoke-WebRequest -Uri 'https://mp.weixin.qq.com/s/YtWEQ_kORUmh97sAEMwUjw' -SessionVariable session1 # 下载地址url - $result.Content 乱码:utf8解析成ANSI
  8. foreach ($img in $result.Images) {
  9.   $src = if ($img.'data-src') { $img.'data-src' }else { $img.src }
  10.   if (-not $src) { continue }
  11.   $uri = [uri]$src
  12.   $nvc = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
  13.   $wx_fmt = $nvc['wx_fmt']
  14.   $picname = ($uri.Segments[-2] -replace '/') + ".${wx_fmt}"
  15.   $picpath = [io.path]::Combine($di.FullName, $picname)
  16.   "downloading: $src"
  17.   Invoke-WebRequest -UseBasicParsing -Uri $uri -OutFile $picpath -WebSession $session1
  18. }
复制代码

作者: 小白龙    时间: 4 天前 19:18

回复 2# flashercs


      大佬牛X, 真可以很快下载下来了, 但是怎样把图片的名字按先后的序号命名呢, 现在下载下来的无意义的文件名,如果手动重新命名,比一张一张的复制还要花时间




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