Парсинг сайта Яндекс
Всем добрый день. Возник вопрос при парсинге новостей из Яндекса. https://yandex.ru/ Подскажите, как спарсить именно блок новостей? Вот код, но почему-то не работает.
import requests
from bs4 import BeautifulSoup
def get_html(url):
r = requests.get(url)
r.encoding = 'utf8'
return r.text
def get_link(html):
soup = BeautifulSoup(html, 'lxml')
head = soup.find('div', class_='news__header widget__content').find('span', class_="news__item-content ").get_text
print(head)
data = get_link(get_html('https://yandex.ru/'))
Заранее большое спасибо!
Ответы (1 шт):
Автор решения: Smoliarick
→ Ссылка
Вот так можно распарсить сайт Яндекса (если поможет):
import requests
from bs4 import BeautifulSoup
url = 'https://yandex.ru'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
# Ищет все новости и записывает в переменную
news = soup.find_all('a', class_='home-link list__item-content list__item-content_with-icon '
'home-link_black_yes')
# Выводит текст каждой новости (всего их 10)
for link in news:
print(link.text)