Парсинг в Python
Нужно узнать максимальное количество страниц на сайте https://garagetools.ru/catalog/prochie-rashodniki, используя requests и beautifulsoup. Подскажите как это можно реализовать?
Ответы (1 шт):
Автор решения: Jack_oS
→ Ссылка
Ссылка на последнюю станицу пагинации есть в html ответа в span с классом last.
Выделить ее можно с помощью кода:
soup.find('span', class_='last').find('a')['href']
soup.find вернет строку с url:
/catalog/prochie-rashodniki?page=11
Номер последней страницы, соответственно:
int(last_page_link.replace('/catalog/prochie-rashodniki?page=', ''))
Код в функции:
import requests
from bs4 import BeautifulSoup
def garagetools():
url = 'https://garagetools.ru/catalog/prochie-rashodniki'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
last_page_link = soup.find('span', class_='last').find('a')['href']
page_count = int(last_page_link.replace('/catalog/prochie-rashodniki?page=', ''))
return page_count