Задать вопрос
Levman5
@Levman5
print(“Hello World!”)

Почему пустой вывод при парсинге на python?

У меня есть простой парсер:
import requests
from bs4 import BeautifulSoup

URL = 'https://www.dns-shop.ru/search/?q=%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8&stock=soft'
HEADERS = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36',
    'accept': '*/*'
}

def get_html(url, params=None):
    r = requests.get(url, params=params, headers=HEADERS)
    return r
def parse():
    html = get_html(URL)
    soup = BeautifulSoup(html.text, 'html.parser')
    items = soup.find_all('div', class_='catalog-product')
    print(items)

parse()


Но он выводит [ ]

Где я накосячил?
  • Вопрос задан
  • 410 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@alexbprofit
Junior SE
Контент генерится js'ом используй Selenium или ищи тот запрос который браузер шлет на сервер и повторяй его
Ответ написан
origami1024
@origami1024
went out for a night walk
В хедерах нужно выставить сгенерированные скриптом куки.
Если заходишь без кук, то сервер по любому адресу отдает страничку со скриптом генерации кук.
Ответ написан
Ваш ответ на вопрос

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

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