Как сделать пагинацию в парсере на Python?
Я начинаю изучать парсинг на Python.Я написал парсер,который парсит Stopgame.ru,но у меня не получается сделать пагинацию.
from bs4 import BeautifulSoup
import requests
headers = {
"accept": "* / *",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.97 Safari/537.36"
}
url = "https://stopgame.ru/topgames?p="
response = requests.get(url, headers)
soup = BeautifulSoup(response.text, 'html.parser')
game_name = soup.find_all("div", class_="caption caption-bold")
for games_name in game_name:
games_name = games_name.find("a")
print(games_name.text)
Ответы (1 шт):
Автор решения: fancier
→ Ссылка
Если под пагинацией вы имеете ввиду переход на следующие страницы и парсинг информации оттуда, то можно сделать цикл, который на каждой итерации будет к концу ссылки страницы добавлять соответствующий номер страницы. Открыв ссылку можно увидеть, что страниц в общем 26. Это кол-во итераций
for i in range(1, 27):
url = "https://stopgame.ru/topgames?p={}".format(i)
response = requests.get(url, headers)
soup = BeautifulSoup(response.text, "html.parser")
game_name = soup.find_all("div", class_="caption caption-bold")
for games_name in game_name:
games_name = games_name.find("a")
print(games_name.text)