繁体   English   中英

如何从限制同时下载的 url 批量下载图像 (70k)?

[英]How do I bulk download images (70k) from urls with a restriction on the simultaneous downloads?

我有点不知所措。 我有一个包含这些列的 csv 文件:名称 - 图片 url 我想将 70k 图像批量下载到一个文件夹中,使用第一列中的名称重命名图像,如果每个名称有多个,则对其进行编号。 有些是jpeg,有些是png。

我猜我需要使用 Pandas 从 csv 中获取数据,但我不知道如何在不同时启动所有下载的情况下制作下载/重命名部分,这肯定会使我的计算机崩溃(它确实,我什至没有生气)。 预先感谢您对此的任何了解。

尝试分批下载 500 张图像...然后休眠 1 秒钟并循环播放.... 相当耗时...但肯定会触发方法....对于编码参考,您可以探索像 urllib 这样的包(用于下载) 并在您下载文件后立即使用 os.rename() 更改名称....因为您已经知道该 csv 文件使用 Pandas...

我是一个编码白痴。 . . 所以用一小撮盐吃这个。

我需要在(第 1 列带有 URL,第 2 列带有文件名)中获取一个 CSV 并将其放入代码运行目录中的现有文件夹中。

对我来说就像一种魅力。 也许这里有帮助

#import Libraries
import csv
import urllib.request

# Function to download file from URL to a SPECIFIED FOLDER with a SPECIFIED NAME
def dl_jpg(url, file_path, file_name):  
  full_path = file_path + file_name + '.jpg' 
  urllib.request.urlretrieve(url, full_path)

# Get CSV File-name and Folder to store images from the user
file_name = input('Please enter filename:  ')
folder_name = input('Please enter a folder name:  ')

# Open SPECIFIED CSV and iterate through the URL on each line and call the Download function for each Line and filename.
with open(file_name + '.csv','r') as csv_file:  
    csv_reader = csv.reader(csv_file)
    next(csv_reader)
    for line in csv_reader:  
      print(line[0])
      dl_jpg(line[0],folder_name +'/', line[1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM