Парсинг картинок с помощью BeatifulSoup на Python. Нужна помощь!

Подробная информация о вопросе

Доброго времени суток, столкнулся с такой задачей как парсинг с помощью BeatifulSoup. Парсинг нужно производить с сайта объявлений (olx), из определённой категории >>посмотреть сайт<<. Мне нужно вытащить с каждого объявления его название, цену и картинку. Если с предыдущими проблем нет, то с картинками пошли вопросы...
Первые шесть объявлений грабятся как положено то начиная со следующих идёт проблема. Цена и название парсятся а ссылка на картинку выдается в таком формате /app/static/media/no_thumbnail.15f456ec5.svg что соответственно не даёт возможность с ней дальше работать.

Прикладываю код

import requests
from bs4 import BeautifulSoup


url = 'https://www.olx.ua/d/uk/nedvizhimost/kvartiry/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
card_with_data = soup.find_all('div', class_='css-19ucd76')

for n, i in enumerate(card_with_data, start=1):
   itemName = i.find('h6', class_='css-v3vynn-Text eu5v0x0')
   itemPrice = i.find('p', class_='css-wpfvmn-Text eu5v0x0')
   itemImage = i.find('img')

   # каждое 7 объявление на новой странице это - уведомление сайта 
   # которое подходит по классу (так как имеет вид такой же карточки),  
   # но не подходит по данным собственно сделана такая проверка.
   # также после этого объявления всё ломается. 

   if itemPrice and itemName and itemImage is not None:
       itemName = itemName.text.strip()
       itemPrice = itemPrice.text
       itemImage = itemImage.get('src')
       print(f'{n}: {itemPrice} for {itemName} | item image: {itemImage}')

   else:
       pass


Что я пробовал?

Пытался изменять itemImage = itemImage.get('src') на itemImage = itemImage.attrs['src'] вывод от этого не поменялся.

Что мне нужно будет сделать дальше?

Нужно потом эти данные вставить (цена, название, картинка) в свой html файл чтобы отобразить пользователю. Если есть возможность, предложите вариант без сохранения на диск, а на лету вставлять в другой шаблон. Спасибо!


Ответы (0 шт):