Не могу найти теги, в которых информация. bs4
bs4 не находит теги article. Как его найти? Вот кусок кода:
url = 'https://market.yandex.ru/catalog--noutbuki-v-beloretske/54544/list?hid=91013&page=2&onstock=1'
r = requests.get(url)
soup = BeautifulSoup(r, 'lxml')
cards = soup.find_all('article', class_ = '_1_IxNTwqll')
print(cards)
# Выводит: []
Вот сайт: https://market.yandex.ru/catalog--noutbuki-v-beloretske/54544/list?hid=91013&page=2&onstock=1
Help! Please.
Ответы (2 шт):
Автор решения: DD_N0p
→ Ссылка
Вероятнее всего, вы натыкаетесь на captcha. Вы можете проверить это распечатав ответ. В ответе можно увидеть многократно повторяющееся слово "captcha".
r = requests.get(url).text
print(r)
Автор решения: Ildar
→ Ссылка
метод get из модуля requests возвращает обьект класса Response, а BeautifulSoup в свою очередь принимает готовый html текст
проверьте ваш html и увидите что у вас выходит captcha вместо требуемой страницы, на счет обхода captcha есть множество материалов, посмотрите про proxy и user-agent например
import requests from bs4 import BeautifulSoup url = 'https://market.yandex.ru/catalog--noutbuki-v-beloretske/54544/list?hid=91013&page=2&onstock=1' response = requests.get(url) html = response.text print(html) # возвращает html со страницей капчи soup = BeautifulSoup(r.text, 'html.parser') cards = soup.find_all('article', class_ = '_1_IxNTwqll') print(cards) # пустой список так на странице с капчей нет нужных элементов