You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改GoogleImageCrawler下载文件的保存文件名?

如何为icrawler下载的文件指定自定义文件名

当你执行google_Crawler.crawl(keyword="person smiling", max_num=1)下载图片时,有两种可靠方式自定义文件名:

方法1:通过自定义下载器类重命名

继承icrawler的ImageDownloader类,重写get_filename方法直接指定文件名,这是最灵活的方案:

from icrawler.builtin import GoogleImageCrawler
from icrawler.downloader import ImageDownloader
from icrawler.utils import get_absolute_path

class CustomDownloader(ImageDownloader):
    def get_filename(self, task, default_ext):
        # 替换成你需要的文件名,比如"smiling_person.jpg"
        return get_absolute_path(self.storage.root_dir, "smiling_person.jpg")

# 初始化爬虫时绑定自定义下载器
google_Crawler = GoogleImageCrawler(
    downloader_cls=CustomDownloader,
    storage={"root_dir": "./your_save_directory"}  # 替换为你的保存路径
)

google_Crawler.crawl(keyword="person smiling", max_num=1)

方法2:下载后手动重命名

如果不想修改爬虫逻辑,可以在下载完成后找到默认命名的文件并手动重命名。icrawler默认会用000001.xxx这类序列名保存文件:

import os
from icrawler.builtin import GoogleImageCrawler

save_dir = "./your_save_directory"
google_Crawler = GoogleImageCrawler(storage={"root_dir": save_dir})
google_Crawler.crawl(keyword="person smiling", max_num=1)

# 遍历目录找到下载的图片并重命名
for filename in os.listdir(save_dir):
    if filename.lower().endswith((".jpg", ".png", ".jpeg")):
        old_path = os.path.join(save_dir, filename)
        new_path = os.path.join(save_dir, "smiling_person.jpg")
        os.rename(old_path, new_path)
        break

注意点

  • 方法1适合批量下载场景,无需额外遍历操作;
  • 确保自定义文件名的扩展名与图片实际格式匹配,避免格式错误;
  • 如果目标文件名已存在,两种方法都会覆盖原有文件,需提前处理文件冲突。

内容的提问来源于stack exchange,提问作者Among Us

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 03:35:06