@CoolGaming
Начинающий программист,пишу ботов

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

Добрый день, я написал код для парсинга главной страницы яндекса. Я хочу парсить топ-5 новостей, которые расположены над поисковой строкой. Вот мой код:
Headers = {'тут user-agent'}
url = 'https://yandex.ru/'

response = requests.get(url, headers=Headers)
soup = BeautifulSoup(response.text, 'html.parser')
items = soup.find_all('a', class_='home-link list__item-content home-link_black_yes')
for link in items[:5]:
    print(link.text)

Почему парсер, ничего не выводит?
  • Вопрос задан
  • 768 просмотров
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
защита Яндекса

проверочное :

print(response .content)
Ответ написан
Vlad_IT
@Vlad_IT
Front-end разработчик
Вот этот код
soup.find_all('a', class_='home-link list__item-content home-link_black_yes')

ищет элементы, у которых есть все эти перечисленные классы, и больше не каких. т.е. вот следующий элемент будет найден
<a class="home-link list__item-content home-link_black_yes" ...

А тот, что у вас на странице яндекса, не будет найден
<a class="home-link list__item-content list__item-content_with-icon home-link_black_yes"


Почитайте тут https://www.crummy.com/software/BeautifulSoup/bs4/... там описано, что нужно делать в вашем случае.
Ответ написан
Noizefan
@Noizefan
в 4 beautifulSoup'e помоему по-другому селекция по классу происходит.
.find('a', {'class':'abcdef'})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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