-
导入必要的库:包括
pandas
用于处理CSV文件,requests
用于发送网络请求,以及os
和time
等进行文件系统操作和可能的时间控制。 -
设置路径:指定了CSV文件的位置和图片将要保存的目录。如果保存目录不存在,脚本会自动创建。
-
配置HTTP请求会话:使用
requests.Session()
建立会话,并通过Retry
和HTTPAdapter
添加了重试逻辑,以便在网络问题导致的失败后自动重试下载。这样提高了下载过程的健壮性。 -
定义请求头:模拟浏览器的User-Agent字符串,某些网站可能需要特定的User-Agent来允许访问或下载。
-
遍历CSV文件并下载图片:
- 对CSV中的每一行,提取图片URL。
- 使用URL的最后一部分作为图片的文件名,确保唯一性和可读性。
- 在尝试下载前,检查文件是否已存在,避免重复下载。
- 使用配置好的会话发送GET请求,并设置超时避免长时间阻塞。
- 成功下载后,图片被写入到本地文件系统,并更新下载计数。
- 如果遇到任何请求异常或非200状态码,会打印错误信息并继续处理下一行。
-
最终统计:完成所有URL的处理后,打印出成功下载的图片总数。
从指定的CSV文件中读取图片URL,批量下载这些图片到指定的目录
于 2024-06-28 13:50:39 首次发布