```python import requests from bs4 import BeautifulSoup import json riddles = [] def scrape_year_data(scrap_year): base_url = 'https://www.fan-fortboyard.fr/pages/fanzone/enigmes-du-pere-fouras/' if(scrap_year > 2019): url = f'{base_url}enigmes-{scrap_year}.html' # Replace with the actual URL pattern else: url = f'{base_url}{scrap_year}.html' # Replace with the actual URL pattern response = requests.get(url) if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') paragraphs = soup.find_all('p') for paragraph in paragraphs: span = paragraph.find('span') if span and span.find('strong'): strong_tag = span.find('strong') if strong_tag and strong_tag.text.strip().isdigit(): riddle_count = strong_tag.text.strip() answer_span = paragraph.find_all('span', style=True) if answer_span: answer_text = answer_span[-1].get_text(strip=True) riddle_count = strong_tag.text.strip() riddle_text = paragraph.decode_contents() riddle_text = riddle_text.replace('
', '\n').replace('
', '\n') riddle_text = BeautifulSoup(riddle_text, 'html.parser').get_text(strip=True) riddle_text = riddle_text.split(')', 1)[-1].strip() if "RÉPONSE" in riddle_text: riddle_text = riddle_text.split("RÉPONSE", 1)[0].strip() riddles.append({'riddle': riddle_text, 'answer': answer_text, 'count': riddle_count, 'year': scrap_year}) else: print(f'No answer found : {scrap_year}-{riddle_count}') else: print(f'Failed to retrieve data for year {year}: {response.status_code}') for year in range(2007, 2023): scrape_year_data(year) with open('riddles.json', 'w', encoding='utf-8') as json_file: json.dump(riddles, json_file, indent=4, ensure_ascii=False) ```