Как загрузить изображения из URL и создать папки с python в pandas - PullRequest
0 голосов
/ 01 марта 2020

Я довольно новичок в python и кодировании;

У меня есть датафрейм, как показано ниже;

Color    Gender    Model        link
Black    Man       Sneakers     https://....
Black    Man       Boots        https://....
White    Woman     Sneakers     https://....
Brown    Woman     Sneakers     https://....
Black    Man       Sneakers     https://....
White    Woman     Boots        https://....

Я хочу скачать эти ссылки на изображения и сохранить их в каталоге который основан на комбинации цвет-пол-модель.

В конце мне нужна папка Black_Man_Sneakers и все связанные изображения (для этого примера первая и шестая ссылки) должны быть в этой папке.

Как следует Я начинаю? любой комментарий будет полезен

Большое спасибо

1 Ответ

1 голос
/ 01 марта 2020

Вы можете использовать requests для загрузки файлов и apply для применения функции к каждой строке кадра данных:

import os
import requests


def download(row):
   filename = os.path.join(root_folder,
                           '_'.join([row['Color'],
                                     row['Gender'],
                                     row['Model']],
                           str(row.name) + im_extension)

   # create folder if it doesn't exist
   os.makedirs(os.path.dirname(filename), exist_ok=True)

   url = row.link
   print(f"Downloading {url} to {filename}")
   r = requests.get(url, allow_redirects=True)
   with open(filename, 'wb') as f:
       f.write(r.content)

root_folder = '/path/to/download/folder'
im_extension = '.jpg'  # or whatever type of images you are downloading

df.apply(download, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...