今天遇到了一个新的需求。网站上有许多webp图片,直接打开它,拒绝访问,浏览器打开也403,一看就是被保护了。写了python批量来下也失败。最后用IDM试一下,居然可以下载。但是一个一个下载太麻烦了,有几百张。那就用python加IDM吧。
使用 IDM 的命令行界面(command line interface,CLI)结合 Python 脚本批量下载图片。按照以下步骤操作:
1. 首先,请确保您的计算机已安装了 IDM。
2. 创建一个文本文件 `urls.txt`,将图片网址逐行添加到文件中。
3. 创建一个 Python 脚本 `idm_downloader.py`,并将以下代码粘贴到脚本中:```python
import subprocess
import time
# 更改为 IDM 安装路径下的 IDMan.exe 路径
idm_executable_path = "F:\\TOOLS\\Internet Download Manager\\IDMan.exe"
# 更改为包含图片网址的文本文件路径
url_file_path = "url.txt"
# 读取文本文件并获取图片网址
with open(url_file_path, "r", encoding="utf-8") as url_file:
image_urls = [url.strip() for url in url_file.readlines()]
# 使用 IDM 下载图片
for image_url in image_urls:
subprocess.run([idm_executable_path, "/d", image_url, "/n", "/a", "/p", "/q"])
#time.sleep(2) # 暂停 2 秒,确保 IDM 添加任务
# 使用 "/s" 标志启动下载队列
subprocess.run([idm_executable_path, "/s"])
```
请注意,需要根据实际情况更改变量 `idm_executable_path`(IDM 安装路径下的 IDMan.exe 路径)和 `url_file_path`(包含图片网址的文本文件路径)。然后运行脚本,IDM 将自动下载文本文件中的所有图片。
此代码在命令行中执行 IDM,并逐行读取文本文件中的图片网址。`/d` 标志用于提供下载链接,`/n` 表示下一个下载任务,`/a` 表示添加下载到队列,`/p` 表示使用默认保存路径以及 `/q` 表示以安静模式运行 IDM。