0
import requests
from bs4 import BeautifulSoup
import json

JSON = 'cards.json'
HOST = 'https://catalog.onliner.by/'
URL = 'https://catalog.onliner.by/conditioners?mfr%5B0%5D=gree&mfr%5B1%5D=dahatsu&mfr%5B2%5D=alpicair&mfr%5B3%5D=denko&mfr%5B4%5D=green&mfr%5B5%5D=lg'
HEADERS = {
 'accept': '*/*',
 'user-agent': '*'
          }
def get_html(url, params=''):
    r = requests.get(url, headers=HEADERS, params=params)
      return r
def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='schema-product__more-wrapper')#schema-product__children-group
    cards = []
    print(items)
html = get_html(URL)
get_content(html.text)

введите сюда описание изображения Мне нужен блок schema-children, просматривая текстом html документ увидела , что там его нет.Из-за чего это могло произойти?

P.S Вот такой вывод кода, как видите контейнера чилдрен тут нет введите сюда описание изображения

  • Чтобы поправить ваш вопрос вы можете нажать [edit] под самим вопросом – Dmitry Apr 18 '23 at 12:53
  • Блока schema-children на странице действительно нет. Откуда вы его взяли? – DiMithras Apr 19 '23 at 07:16
  • Сайт генерируется динамически, поэтом, посмотрите вкладку Network в браузере, там Вы найдёте API для запроса, который отправляет JSON ответ (https://catalog.onliner.by/sdapi/catalog.api/search/conditioners?mfr[0]=gree&mfr[1]=dahatsu&mfr[2]=alpicair&mfr[3]=denko&mfr[4]=green&mfr[5]=lg&group=1), или используйте Selenium + BeautifulSoup. – user510170 Apr 19 '23 at 07:29
  • Видимо имелся ввиду schema-product_children? – DiMithras Apr 19 '23 at 07:32
  • Да ,блок schema-product-children – karina Apr 19 '23 at 08:03
  • Тогда смотрите совет @user510170 по сути там уже готовый JSON со всеми данными и парсить ничего не надо, лишь отфильтровать необходимое вам. – DiMithras Apr 19 '23 at 09:38
  • не совсем поняла, где именно брать json(ссылку видела, просто хочу до конца разобраться) – karina Apr 19 '23 at 11:01
  • @karina довольно подробно тут расписал как пользоваться developer tools на примере сокетов, просто вместо сокетов делайте фильтр по XHR. Сокеты на вашем сайте, кстати, тоже есть, но выполняют несколько иные функции. – DiMithras Apr 19 '23 at 11:31

0 Answers0