blog/
Как скачать картинки с сайта с помощью Python

Написал скрипт, который сохраняет картинки (вообще-то просто любые файлы) с сайта по url. Чтобы скрипт запустить, вам понадобится среда выполнения Pуthon с соотв. библиотеками, или просто Google Colab.
Ещё про питон — см. в рубрике программирование.
linkList = list() a = "<a href=\"https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_01.jpg\">00</a>" b = "<a href=\"https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_31.jpg\">31</a>" linkList.extend([a, b]) for i in range(2, 30): a = "<a href=\"https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_" + str(i).zfill(2) + "a.jpg\">" + str(i) + "</a>" b = "<a href=\"https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_" + str(i).zfill(2) + "b.jpg\">" + str(i) + "</a>" linkList.extend([a, b]) print(*linkList, sep="\n")
И далее сгенерированный список ссылок надо сохранить как html и скачать их любым менеджером загрузок.
Но мне показалось это не очень удобным, и вот этот вариант программы скачивает картинки в папку сам, коллаб блокнот вот тут (обратите внимание, оно требует установки wget в самом начале: !pip install wget ). Комментарии проставил в коде:
import os # importing all we need, it's not much
import wget
urls_to_load = list() # a list to store the urls
path = 'download_folder' # the path where we will download those files
a = "https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_01.jpg" # the first two images are separate as the source has them named differently
b = "https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_31.jpg"
urls_to_load.extend([a, b]) # add them to the url list
# add all other images, generating their names as we need
for i in range(2, 31): # it is important to make this second number +1, so PY makes the list correctly (as far as we start with 2)
a = "https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_" + str(i).zfill(2) + "a.jpg"
b = "https://member.etn-net.org/magazines/en/2001/ETN-TF_4-2001_EN/ETN-TF_4-2001_EN_" + str(i).zfill(2) + "b.jpg"
urls_to_load.extend([a, b])
# preparing to download
if not os.path.exists(path):
try:
os.mkdir(path)
except OSError:
print("Creation of the directory %s failed" % path)
else:
print("Successfully created the directory %s " % path)
# starting to download
print("Starting downloading")
for url in urls_to_load:
file_name = path + '/' + os.path.basename(url) # get the full path to the file
if os.path.exists(file_name):
os.remove(file_name) # if exists, remove it directly
file_name = wget.download(url, out=path)
print(file_name)
print("ok")Тут смысл в том, что оно умеет по списку ссылок скачивать, а в остальном оно бесполезное, конечно. Просто мне было лень руками 30 ссылок вбивать. И да, будьте внимательнее с копирайтом, соблюдайте закон.
Similar Posts:
- Select all images urls and download them
- Про Python и ArchiCAD: удалить лишние слои
- Script for choosing a winner on Instagram (JavaScript Instagram comment picker)
- Вывод дерева файлов через Питон
- Задаём свойства объектам в ArchiCAD 23 через Python