Парсинг сайта. BeautifulSoup
Необходимо собрать в учебных целях, допустим, какое-то кол-во новостей с сайта https://inosmi.ru/politic/. Получается собрать новости только до "загрузить еще", то есть только с первой страницы. Подскажите, пожалуйста, как сделать так , чтобы можно было собрать новости с нескольких страниц, там с двух, трех или пяти например.
from bs4 import BeautifulSoup
import urllib.request
req=urllib.request.urlopen('https://inosmi.ru/politic/')
print(req)
html=req.read()
soup=BeautifulSoup(html, 'html.parser')
news=soup.find_all('article', class_='rubric-list__article')
print(len(news))
results=[]
for item in news:
title=item.find('h1', class_='rubric-list__article-title rubric-list__article-title_small').get_text()
print(title, end=' ')
if item.find('a', class_='rubric-list__article-story'):
desc = item.find('a', class_='rubric-list__article-story').get_text()
else:
desc='Без описания'
print(desc, end=' ')
href=item.a.get('href')
print(href, end=' ')
date=item.find('time', class_='rubric-list__article-date').get_text()
print(date, end=' ')
publisher=item.find('address', class_='article-magazine rubric-list__article-magazine').get_text()
print(publisher, end=' ')
print(end='\n')
Ответы (1 шт):
Автор решения: Семен Кирьязов
→ Ссылка
Используйте селениум и поиск кнопки по xPath (тк до кнопки, наверное, долистать нужно)
from selenium import webdriver
driver = webdriver.Chrome(executable_path="path to driver")
driver.get('https://example.com')
button = driver.find_element_by_xpath('xpath of the li you are trying to access')
button.click()
