【问题标题】:Why does icrawler pause when downloading dozens of images?为什么icrawler下载几十张图片会卡顿?
【发布时间】:2023-01-23 23:57:34
【问题描述】:

我想使用 icrawler 从谷歌下载图像。我将最大下载数量设置为 1000。但是当它停止时我只得到 92 张图像。而且我每次运行结果都不一样,都不到100。

from icrawler.builtin import GoogleImageCrawler

for var in ['car front bumper damage']:
    var_folder = var.replace(" ", "_")
    image_folder = '/content/drive/MyDrive/DataStor/Crawler-datasets/'
    path = image_folder + var_folder

    import os
    try:
        os.makedirs(path)
    except FileExistsError:
        print("File already exists")

    print(f'Collecting images for {var}......')
    google_Crawler = GoogleImageCrawler(downloader_threads=4, storage = {'root_dir': path})
    google_Crawler.crawl(keyword = var , max_num = 1000)
    print(google_Crawler.feeder.in_queue.qsize())

不知道是不是参数没设置好。

【问题讨论】:

    标签: google-crawlers


    【解决方案1】:

    这是因为当您在谷歌图像中抓取时,仅处理第一页,因此您无法获取所有 1000 张图像。一个解决方案是在不同的时期多次crawl

    google_Crawler.crawl(keyword = var, max_num=350, date_min=date(2019, 1, 1), date_max=date(2019, 12, 31))
    google_Crawler.crawl(keyword = var, max_num=350, date_min=date(2020,1,1), date_max=date(2020, 12, 31), file_idx_offset='auto')
    google_Crawler.crawl(keyword = var, max_num=350, date_min=date(2021,1,1), date_max=date(2021, 12, 31), file_idx_offset='auto')
    

    你可以crawl more 如果你不想有重复的图像,你必须指定一个不同的周期

    不要忘记:

    from datetime import date
    

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      相关资源
      最近更新 更多