图像下载器+基于CSV重命名

时间:2017-05-26 19:23:48

标签: python image csv rename file-rename

我所拥有的是以下数据CSV数据(2列)

  • ImageURL1,名称A
  • ImageURL1,名称B
  • ImageURL2,名称C

我想下载在ImageURL1找到的图像,并有两个图像文件作为名称A和名称B

有办法做到这一点吗?

理想情况下,我想下载每个图像+重命名文件,然后再次重复序列。

或者拥有所有独特的图像资源,然后将这些文件复制到新的图像名称

也许使用Python / Soup / bulk image downloader等

2 个答案:

答案 0 :(得分:2)

您可以导入 urllib3 模块并使用以下

urllib.urlretrieve(img_url, "path/name_of_img.jpg")

第一个参数是即将下载的图像的URL,第二个参数是您希望保存的文件夹/目录的路径,以及图像文件的名称和扩展名。

我希望这适合你。

答案 1 :(得分:1)

你试过任何代码吗?如果有,请分享。根据您的描述,有三个主要目标:1)打开并读取CSV文件,2)下载图像3)重命名文件。我会给你每个部分的大致指示,但是由你来完成完整的代码:

1)打开CSV并读取数据:Python有一个特定的CSV库:CSV File Read and Write

以下是使用csv.DictReader的示例。您必须修改特定的CSV文件格式:

import csv
with open('filename.csv', 'rb') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        image_url = row['ImageURL']  # replace with your column heading
        filename = row['Name']  # replace with your column heading

2)从网上下载图片:您可以​​使用urllib.urlretrieve下载图片。例如:

import urllib
urllib.urlretrieve(image_url, filename)

3)重命名文件。上面的代码将检索网址并保存为filename,因此您可能不需要执行此步骤。如果你仍然这样做,那么os.rename(src, dst)就可以了。

希望这会有所帮助。祝你好运。使用大量print语句来调试代码。 Python文档是你的朋友。