Как получить ссылку на картинку при помощи парсинга сайта?

Рейтинг: 0Ответов: 1Опубликовано: 16.08.2023
def getOneGuitar(url, file_name):
    r = requests.get(url)

    name = bs(r.text, 'html.parser').find('h1', itemprop="name").text
    lore = bs(r.text, 'html.parser').find('div', itemprop="description").text
    img_url = bs(r.content, 'lxml').find('div', class_="owl-item active")
    
    print(img_url) # Выводит None
    strings = f"{url}\n\n{name}\n{lore}"

    m.writeTo(marketdir + "komissionchick" + os.sep + file_name, strings)

getOneGuitar("https://chel.komissionchik.ru/catalog/muzykalnye-instrumenty/guitars/jackson-js22-7-dinky/", "0.txt")

Написал вот такую функцию. Её цель - записывать название и описание гитары в файл, а также скачивать первое изображение.

Погуглил, попробовал уже менять r.text на r.content, а также вид парсинга на lxml, но проблема явно не в этом.

Буду очень благодарен, если кто-нибудь объяснит мне почему bs не находит блок div и что мне нужно делать.

Ответы

▲ 0
import requests
from bs4 import BeautifulSoup as BS
url = "https://chel.komissionchik.ru/catalog/muzykalnye- 
instrumenty/guitars/jackson-js22-7-dinky/"
r = requests.get(url)
soup = BS(r.text, features="html.parser")
url = soup.find_all("a", class_="p-images__slider-item")
print(url)

Далее уже забираете, что нужно.