import requests
from bs4 import BeautifulSoup
url = "https://vos.olimpiada.ru/2024/school"
response = requests.get(url)
if response.status_code == 200:
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')
schedule_table = soup.find('table', {'border': '1'})
if schedule_table:
for row in schedule_table.find_all('tr')[1:]:
cells = row.find_all('td')
if cells[0].get('rowspan'):
cells = row.find_all('td')
subject = cells[0].get_text(strip=True)
grades = cells[1].get_text(strip=True)
dates = cells[2].get_text(strip=True)
results_publication = cells[3].get_text(strip=True)
print(f"Предмет: {subject}")
print(f"Классы участия: {grades}")
print(f"Сроки проведения: {dates}")
print(f"Сроки публикации результатов: {results_publication}")
print("-" * 50)
last_results_publication_value = results_publication
else:
results_publication = last_results_publication_value
cells = row.find_all('td')
grades = cells[0].get_text(strip=True)
dates = cells[1].get_text(strip=True)
print(f"Предмет: {subject}")
print(f"Классы участия: {grades}")
print(f"Сроки проведения: {dates}")
print(f"Сроки публикации результатов: {results_publication}")
print("-" * 50)
else:
print("Таблица с расписанием не найдена.")
else:
print(f"Ошибка при доступе к странице: {response.status_code}")
</tr>
<tr style="height: 14px;">
<td style="height: 28px; width: 232.444px;" rowspan="2">Литература</td>
<td style="height: 14px; width: 54.4583px;">5-6</td>
<td style="height: 14px; width: 177.806px;"><a href="/news/5450">12-14 сентября</a></td>
<td style="width: 206.847px; height: 28px;" rowspan="2"><a href="/news/5470">опубликованы 19 сентября</a></td>
</tr>
<tr style="height: 14px;">
<td style="height: 14px; width: 54.4583px;">7-11</td>
<td style="height: 14px; width: 177.806px;"><a href="/news/5450">12 сентября</a></td>