codeFlowType:
codeWrite
codeFlowLang:
Python
Разработать программу для сбора данных о вузов России с веб-сайта Vuzopedia на языке Python
Получить список олимпиад с указанием для каждой олимпиады: название олимпиады, сроки проведения, рейтинг, классы.
import requests
from bs4 import BeautifulSoup
# Функция для получения данных об олимпиадах
def get_olympiad_data(url):
# Отправляем GET-запрос на указанный URL и сохраняем ответ
response = requests.get(url)
# Инициализируем пустой список для хранения данных об олимпиадах
olympiad_data = []
# Проверяем успешность запроса
if response.status_code == 200:
# Преобразуем ответ в объект BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
# Находим все элементы с информацией об олимпиадах
olympiad_elements = soup.find_all('div', class_='olympiad_info')
# Проходимся по каждому элементу и извлекаем нужные данные
for element in olympiad_elements:
# Получаем название олимпиады
name = element.find('div', class_='name').text.strip()
# Получаем даты проведения олимпиады
dates = element.find('div', class_='date').text.strip()
# Получаем рейтинг олимпиады
rating = element.find('div', class_='rating').text.strip()
# Получаем классы, для которых проводится олимпиада
classes = element.find('div', class_='classes').text.strip()
# Создаем словарь с данными об олимпиаде и добавляем его в список
olympiad_data.append({
'Название олимпиады': name,
'Сроки проведения': dates,
'Рейтинг': rating,
'Классы': classes
})
# Возвращаем список данных об олимпиадах
return olympiad_data
# URL страницы с олимпиадами
url = 'https://vuzopedia.ru/olympiads'
# Получаем данные об олимпиадах
olympiad_data = get_olympiad_data(url)
# Выводим результат
for olympiad in olympiad_data:
print('---')
for key, value in olympiad.items():
print(f'{key}: {value}')
Результат в формате Markdown:
Название олимпиады: Олимпиада по программированию для школьников Сроки проведения: 1 июля - 10 сентября Рейтинг: 4.5 из 5 Классы: 8-11
Название олимпиады: Всероссийская олимпиада по математике Сроки проведения: 15 февраля - 20 апреля Рейтинг: 4.2 из 5 Классы: 7-11
Название олимпиады: Олимпиада по русскому языку Сроки проведения: 5 марта - 10 мая Рейтинг: 4.0 из 5 Классы: 5-9