Я знаю URL изображения в Интернете.
например, http://www.digimouth.com/news/media/2011/09/google-logo.jpg , который содержит логотип Google.
Теперь, как я могу загрузить это изображение, используя Python, не открывая URL в браузере и не сохраняя файл вручную.
python
web-scraping
Панкадж Ватса
источник
источник
Ответы:
Python 2
Вот более простой способ, если все, что вы хотите сделать, это сохранить его в виде файла:
Второй аргумент - это локальный путь, по которому файл должен быть сохранен.
Python 3
Как и предполагал SergO, приведенный ниже код должен работать с Python 3.
источник
filename = link.split('/')[-1]
import urllib.request
иurllib.request.urlretrieve()
соответственно.file01.jpg
будет содержать ваше изображение.источник
open("file01.jpg", "wb")
противном случае вы можете испортить изображение.urllib.urlretrieve
можете сохранить изображение напрямую.Я написал скрипт, который делает именно это , и он доступен на моем github для вашего использования.
Я использовал BeautifulSoup, чтобы позволить мне анализировать изображения на любом веб-сайте. Если вы будете много копаться в Интернете (или собираетесь использовать мой инструмент), я предлагаю вам
sudo pip install BeautifulSoup
. Информация о BeautifulSoup доступна здесь .Для удобства вот мой код:
источник
Это можно сделать с помощью запросов. Загрузите страницу и выгрузите двоичный контент в файл.
источник
Python 3
urllib.request - расширяемая библиотека для открытия URL
источник
Решение, которое работает с Python 2 и Python 3:
или, если
requests
допустимо дополнительное требование и если это URL-адрес http (s):источник
Я сделал сценарий, расширяющий сценарий Юпа. Я исправил некоторые вещи. Теперь он будет обходить 403: запрещенные проблемы. Не происходит сбой, когда изображение не удается получить. Он пытается избежать поврежденных предварительных просмотров. Он получает правильные абсолютные URL. Это дает больше информации. Его можно запустить с аргументом из командной строки.
источник
Использование библиотеки запросов
источник
Это очень короткий ответ.
источник
Версия для Python 3
Я настроил код @madprops для Python 3
источник
Что-то свежее для Python 3 с использованием запросов:
Комментарии в коде. Готов к использованию функции.
источник
Поздний ответ, но для
python>=3.6
вас можно использовать dload , т.е.если вам нужно изображение как
bytes
, используйте:установить с помощью
pip3 install dload
источник
источник
TypeError: a bytes-like object is required, not 'Response'
, Это должно бытьhandler.write(img_data.content)
handler.write(img_data.read())
.