@Hartonone

Почему не работает код пайтон для яндекс картинок?

Я не понимаю, почему оно не скачивает картинки с всплывающего окна в яндекс картинках.
Вроде как и верно указал url и ссылку на картинку и класс картинки.
Код ошибок не выдает, завершение работы успешно, а картинки не качает.
Использую прокси, они работают (проверял) скачивало только прямкую картинку с яндекса, а вот чтобы пачку, нет

В чем проблема не пойму.

Вот мой код
path = "C:\\Users\\PC\\Desktop\\Парсер\\images"

def download_images(query, proxies=None):
    url = "https://yandex.ru/images/search?img_url=" + urllib.parse.quote(query) + "&isize=medium"
    response = requests.get(url, proxies=proxies)
    soup = BeautifulSoup(response.content, "html.parser")
    img_tags = soup.find_all("a", class_="serp-item__link")
    count = 1
    for img_tag in img_tags:
        try:
            img_url = img_tag.get("href")
            if "https://yandex.ru/images/error?url=" in img_url:
                continue
            img_response = requests.get(img_url, proxies=proxies)
            img_soup = BeautifulSoup(img_response.content, "html.parser")
            img_src = img_soup.find("img", class_="MMImage-Origin")['src']
            img_response = requests.get(img_src, proxies=proxies)
            with open(path + "\\" + query + "_" + str(count) + ".jpg", "wb") as f:
                f.write(img_response.content)
            count += 1
        except:
            pass

queries = ["кофе", "чай", "молоко", "сахар"]
proxies = {
  "http": "http://Не скажу",
  "https": "http://Не скажу"
}

if not os.path.exists(path):
    os.makedirs(path)

for query in queries:
    download_images(query, proxies=proxies)


Скриншот фрагмента кода удалён модератором.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
except:
            pass

Бить по рукам за такое. Вот как раз поэтому: ты молча глотаешь возникающие исключения, и теперь не можешь понять, что именно идёт не так.

Хотя бы выводи сведения об исключении в консоль.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы