Как настроить автоматическое сохранение изображений по запросам?

Как можно создать скрипт, который автоматически сохраняет первое изображение из результатов поиска Google для каждого объекта в большом списке?
  • 8 ноября 2023 г. 15:58
Ответы на вопрос 1
Для решения такой задачи, вам потребуется использовать Python и его библиотеки. Вот пример скрипта, который автоматически сохраняет первое изображение из результатов поиска Google для каждого объекта в большом списке:
```python
import requests
from bs4 import BeautifulSoup
import os

def save_image(url, save_path):
    response = requests.get(url, stream=True)
    
    if response.status_code == 200:
        with open(save_path, 'wb') as file:
            for chunk in response:
                file.write(chunk)
    

def search_and_save_images(query, save_directory):
    # Создаем директорию для сохранения изображений
    os.makedirs(save_directory, exist_ok=True)
    
    # Запрашиваем страницу поиска Google
    search_url = f"https://www.google.com/search?q={query}&tbm=isch"
    response = requests.get(search_url)
    
    # Парсим страницу и находим первое изображение
    soup = BeautifulSoup(response.content, 'html.parser')
    image_url = soup.find('img')['src']
    
    # Извлекаем имя объекта из запроса
    object_name = query.split()[-1]
    
    # Генерируем путь для сохранения изображения
    save_path = os.path.join(save_directory, object_name + '.jpg')
    
    # Сохраняем изображение
    save_image(image_url, save_path)
    
    print(f"Изображение для объекта {object_name} сохранено в {save_path}")


# Пример использования
objects_list = ["кошка", "собака", "машина", "дом"]
save_directory = "images"

for query in objects_list:
    search_and_save_images(query, save_directory)
```

Прежде чем запускать этот код, убедитесь, что у вас установлены следующие библиотеки:

```
pip install requests
pip install beautifulsoup4
```

Скрипт создаст директорию "images", если ее нет, и сохранит первое изображение из результатов поиска Google для каждого объекта в списке. Изображения будут сохранены с именами объектов в формате JPEG.
Похожие вопросы