如,下载地址是www.123.com/S/00001-老男人.JPG,到99999-老男人.JPG,有没有什么方法能批量下载,后面的-老男人不变
命令行里 for 循环 + 用 wget 下载?
ma_er233 命令行里 for 循环 + 用 wget 下载?
# 设置保存目录 $saveDir = "C:\Downloads\JPGs" New-Item -ItemType Directory -Path $saveDir -Force | Out-Null # 下载范围 $start = 1 $end = 99999 # 下载文件 for ($i = $start; $i -le $end; $i++) { $fileName = "{0:D5}.JPG" -f $ $url = "http://www.123.com/S/$fileName" $output = Join-Path $saveDir $fileName try { Invoke-WebRequest -Uri $url -OutFile $output -ErrorAction Stop Write-Host "成功下载:$fileName" } catch { Write-Warning "下载失败:$fileName" } }
chatgpt跑的的一个ps脚本,保存为name.ps,然后在终端里直接运行就行了
自己对着代码改一下就行
# 设置保存目录 $saveDir = "C:\Downloads\JPGs" New-Item -ItemType Directory -Path $saveDir -Force | Out-Null # 下载范围 $start = 1 $end = 99999 # 切换到保存目录 Set-Location $saveDir # 下载文件 for ($i = $start; $i -le $end; $i++) { $fileName = "{0:D5}.JPG" -f $i $url = "http://www.123.com/S/$fileName" # 如果文件已存在,则跳过 if (Test-Path $fileName) { Write-Host "已存在,跳过:$fileName" continue } # 使用 wget 下载,显示进度条,自动重试 $wgetCmd = "wget -c --tries=3 --show-progress `"$url`" -O `"$fileName`"" Invoke-Expression $wgetCmd }
还有个wget版本的,他说可以实现多线程。
应该是name.ps1
如果说不能运行脚本可以先运行一下这个,临时解除脚本限制,仅在当前的终端会话中有效。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
sakurachan 下载并安装FDM:https://www.freedownloadmanager.org/download.htm 打开FDM,选择“文件” -> “创建批量下载”。 在“批量下载”窗口的“ ...
没有文件选项
ma_er233 就比如 for i in $(seq -w 00001 99999); do wget https://www.123.com/S/$i.JPG; done 不过这是 Linux 的,Win 上怎么 ...
SenkjM # 设置保存目录 $saveDir = "C:\Downloads\JPGs" New-Item& ...
不会有人连迅雷的批量下载都不会吧
打开浏览器,点击鼠标右键-检查,切换到console标签,输入下面代码for(let i = 0; i < 99999; i++) {console.log(`www.123.com/S/${i.toString().padStart(5, '0')}.JPG`)}
然后把链接全部复制,迅雷下载
cfi1000 不会有人连迅雷的批量下载都不会吧
wenbin5243 打开浏览器,点击鼠标右键-检查,切换到console标签,输入下面代码for(let i = 0; i < 99999; i++) {console.log(`www.123.com/S ...