7 эффективных способов получить URL-адрес изображения в Python

Получение URL-адреса изображения — распространенная задача в веб-разработке и обработке изображений. В этой статье мы рассмотрим несколько способов добиться этого с помощью Python. Каждый метод будет сопровождаться примером кода для лучшего понимания. Давайте погрузимся!

Метод 1: использование библиотеки requests

import requests
def get_image_url(url):
    response = requests.get(url)
    image_url = response.url
    return image_url
# Usage example
url = "https://example.com/image.jpg"
image_url = get_image_url(url)
print(image_url)

Метод 2: использование модуля urllib

import urllib.request
def get_image_url(url):
    response = urllib.request.urlopen(url)
    image_url = response.geturl()
    return image_url
# Usage example
url = "https://example.com/image.jpg"
image_url = get_image_url(url)
print(image_url)

Метод 3: анализ HTML с помощью BeautifulSoup

from bs4 import BeautifulSoup
import requests
def get_image_url(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    image_url = soup.find('img')['src']
    return image_url
# Usage example
url = "https://example.com"
image_url = get_image_url(url)
print(image_url)

Метод 4. Использование библиотеки selenium

from selenium import webdriver
def get_image_url(url):
    driver = webdriver.Chrome()  # or any other browser driver
    driver.get(url)
    image_url = driver.find_element_by_tag_name('img').get_attribute('src')
    driver.quit()
    return image_url
# Usage example
url = "https://example.com"
image_url = get_image_url(url)
print(image_url)

Метод 5. Извлечение из ответа API

import requests
import json
def get_image_url(url):
    response = requests.get(url)
    data = json.loads(response.text)
    image_url = data['image']['url']
    return image_url
# Usage example
url = "https://example.com/api"
image_url = get_image_url(url)
print(image_url)

Метод 6: использование регулярных выражений

import re
def get_image_url(url):
    response = requests.get(url)
    image_url = re.findall('<img\s.*?src=["\'](.*?)["\']', response.text)[0]
    return image_url
# Usage example
url = "https://example.com"
image_url = get_image_url(url)
print(image_url)

Метод 7. Использование сторонней библиотеки (например, pyshorteners)

import pyshorteners
def get_image_url(url):
    shortener = pyshorteners.Shortener()
    image_url = shortener.url(url)
    return image_url
# Usage example
url = "https://example.com/image.jpg"
image_url = get_image_url(url)
print(image_url)

В этой статье мы рассмотрели семь различных методов получения URL-адреса изображения с помощью Python. Каждый метод имеет свои преимущества и может быть выбран в зависимости от конкретных требований вашего проекта. Используя эти методы, вы сможете эффективно улучшить рабочие процессы веб-разработки и обработки изображений.

Не забудьте выбрать метод, который лучше всего соответствует вашим потребностям, и адаптировать его соответствующим образом. Приятного кодирования!