Не могу прописать пагинацию в парсер Python

Вот код, не обессудьте первый день этим занимаюсь. Пагинацию не понимаю как прописать, все примеры через pages, а тут просто даты.  https://primatips.com/tips/2022-11-23



import requests
from bs4 import BeautifulSoup
import csv

HOST = 'https://primatips.com'
URL = 'https://primatips.com/tips/'
CSV = 'games.csv'
HEADERS = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
    }

def get_html(url, params=()):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('a', class_='game')
    games = []
    
    for item in items: 
           games.append(
            {
                'champ':item.find('span', class_= 'cn').get_text(),
                'team':item.find('span', class_= 'nms').get_text(';'),
                'coef':item.find('span', class_= 'os').get_text(';'),
                'goal':item.find('span', class_= 'res').get_text(';'),
                }
            )
    return games

def save_doc(items, path):
    with open(path, 'a', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerow(['1','2','3','4'])
        for item in items:
            writer.writerow( [item ['champ'],item ['team'],item ['coef'],item ['goal']])

def parse():
    while True:
        URL = input('SSSS')
        URL = URL.strip()
        html = get_html(URL)
        if html.status_code == 200:
            games = []
            games = get_content(html.text)
            save_doc(games, CSV)
        else:
            print('ERROR')

parse()

Ответы (1 шт):

Автор решения: Mikhail Sibirev

Каждая страница у вас соответствует дате. В URL страницы есть "базовая" часть, и окончание, соответствующее дате. Вам нужно за некоторый период дат распарсить страницы. Соответсвенно, организуем цикл, в котором к "базовой" части URL будем добавлять строку-окончание с нужной датой в требуемом формате. Ниже простой пример, вам нужно запустить его в консоли, понять, что он делает, адаптировать к вашему коду:

from datetime import date, datetime, timedelta

current_date = date(2022, 11, 1)
base_url = "http://example.com/"

for i in range(0, 10):  # берём за 10 дней
    URL = base_url + datetime.strftime(current_date, "%Y-%m-%d")
    print(URL)
    current_date = current_date + timedelta(days=1)
→ Ссылка