Чтобы найти лучшие онлайн-программы MBA, вы можете использовать различные методы. Вот несколько примеров с фрагментами кода на Python:
- Сбор веб-страниц.
Вы можете собирать данные с веб-сайтов, которые предоставляют рейтинги онлайн-программ MBA. Одним из популярных источников является веб-сайт US News & World Report. Вот пример использования библиотеки BeautifulSoup:
import requests
from bs4 import BeautifulSoup
url = "https://www.usnews.com/education/online-education/mba/rankings"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# Extract the program names and rankings
programs = soup.find_all("div", class_="RankingProgramCard__programName--3NBhT")
rankings = soup.find_all("div", class_="RankingProgramCard__ranking--1GHFf")
for program, ranking in zip(programs, rankings):
print(f"{program.text}: {ranking.text}")
- Интеграция API.
Некоторые веб-сайты предоставляют API для программного доступа к данным своего рейтинга. Например, API QS World University Rankings предлагает данные о программах MBA. Вот пример использования библиотеки запросов:
import requests
url = "https://api.qs.com/rankings"
params = {
"subject": "mba",
"region": "online",
"limit": 10,
"sort": "rank_overall",
"order": "asc"
}
response = requests.get(url, params=params)
data = response.json()
for program in data["data"]["rankings"]:
print(f"{program['title']}: {program['rank']}")
- Агрегация данных.
Вы можете объединить рейтинги из нескольких источников, чтобы создать свой собственный рейтинговый список. Вот пример, который объединяет рейтинги US News и рейтинги QS:
import requests
from bs4 import BeautifulSoup
# U.S. News rankings
us_news_url = "https://www.usnews.com/education/online-education/mba/rankings"
us_news_response = requests.get(us_news_url)
us_news_soup = BeautifulSoup(us_news_response.text, "html.parser")
us_news_rankings = us_news_soup.find_all("div", class_="RankingProgramCard__programName--3NBhT")
# QS rankings
qs_url = "https://api.qs.com/rankings"
qs_params = {
"subject": "mba",
"region": "online",
"limit": 10,
"sort": "rank_overall",
"order": "asc"
}
qs_response = requests.get(qs_url, params=qs_params)
qs_data = qs_response.json()
qs_rankings = qs_data["data"]["rankings"]
# Combine rankings
combined_rankings = []
for program in us_news_rankings:
combined_rankings.append(program.text)
for program in qs_rankings:
combined_rankings.append(program["title"])
# Print the combined rankings
for i, program in enumerate(combined_rankings):
print(f"{i+1}. {program}")
Обратите внимание, что к очистке веб-страниц следует подходить ответственно, соблюдая условия обслуживания веб-сайта и соблюдая ограничения на использование, установленные веб-сайтом.