Парсинг картинок с помощью 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 файл чтобы отобразить пользователю. Если есть возможность, предложите вариант без сохранения на диск, а на лету вставлять в другой шаблон. Спасибо!