Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 2

Парсинг изображений яндекс python

23.10.2023, 12:51. Показов 1085. Ответов 0

Author24 — интернет-сервис помощи студентам
Добрый день, условие моей задачи:с использованием страницы https://yandex.ru/images/ сформировать запросы для поиска изображений, контент на которых соответствует классам *cat* и *dog. Для каждого класса должно быть загружено не менее 1000 изображений. Изображения для каждого класса должны находиться в подпапке папки dataset* с соответсвующим названием.

Мой код парсит максимум 90 изображений котов и все, не понимаю в чем проблема.

Мой код:
Python Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import requests
import os
from bs4 import BeautifulSoup
 
 
URL = "https://yandex.ru/images/"
HEADERS={"User-Agent": "Mozilla/5.0"}
 
def get_image(image_url, name, index):
  if not os.path.isdir(name):
    os.mkdir(name)
  picture = requests.get(f"https:{image_url}", HEADERS)
  saver = open(os.path.join(f"{name}/{str(index).zfill(4)}.jpg"), "wb")
  saver.write(picture.content)
  saver.close()
 
def download_img(path, key):
  os.chdir(path)
  if not os.path.isdir("dataset"):
    os.mkdir("dataset")
  os.chdir("dataset")
  
  count = 0
  page = 0
  
  while сount<1000:
    key1=key.replace(" ", "%20")
    url = f'{URL}search?p={page}&text={key}'
    print(f"Fetching URL: {url}")
    
    response = requests.get(url, headers=HEADERS)
    
    soup = BeautifulSoup(response.text, "html.parser")
    images = soup.findAll('img', class_='serp-item__thumb justifier__thumb')
    if not images:
      print("No images found on this page.")
      break
    
    for image in images:
      if count == 1000:
        return
      image_url = image.get("src")
      if image_url and not image_url.startswith("data:"):
        get_image(image_url, key, count)
        count += 1
    print(count)
    page += 1
   
 
def main():
  directory = os.getcwd()
  download_img(directory, 'cat')
  download_img(directory, 'dog')
 
if __name__ == "__main__":
  main()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2023, 12:51
Ответы с готовыми решениями:

Парсинг Python
Задача запарсирсить странички обявление страницу в https://krisha.kz/prodazha/kvartiry/ Надо запарсить цену и ссылку. не смог запарсить их ...

Парсинг на Python
Спарсить первые два абзаца со странички http://www.pythonscraping.com/pages/warandpeace/chapter1-ru.txt с правильной кодировкой и сохранить...

Парсинг python
Хотел запарсить одну сайт,написал код.Правильно? import requests from bs4 import Beautifulsoup as BS page = 1 while True: ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2023, 12:51
Помогаю со студенческими работами здесь

Превращения python яндекс лицей
Напишите класс Transformations (Превращения). Экземпляр класса при инициализации принимает аргументы: имя; кортеж всех, в кого может...

Парсинг файла в python
У меня есть метод в классе def splited_message(cls, filename): with open(filename, 'r', encoding=&quot;utf-8&quot;) as file: ...

Как достать ссылку из поисковой системы Яндекс? (Парсинг, python, bs4)
Возникла проблема при парсинге поисковой системы Яндекса. Необходимо сравнить ссылку, которую вводит пользователь и который есть на...

Парсинг Яндекс Погоды
Всем добрый вечер.Делаю парсинг яндекс погоды.И столкнулся с такой проблемой-необходимо выводить информацию о погоде за каждый час,но я не...

Парсинг сайта c выгрузкой изображений
Подскажите куда капнуть , что почитать: Я хочу автоматически отправлять изображения на сайт, который сканирует qr код и возвращает себе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер