import requests
from bs4 import BeautifulSoup
import json
# Задаем URL для парсинга
url = "https://music.yandex.ru/chart"
# Отправляем запрос на сервер и получаем HTML-страницу
response = requests.get(url)
html = response.content
# Создаем объект BeautifulSoup для парсинга HTML-страницы
soup = BeautifulSoup(html, "html.parser")
# Находим таблицу с чартом
chart_table = soup.find("table", class_="chart__table")
# Создаем словарь для хранения данных чарта
chart_data = {}
# Перебираем строки таблицы
for row in chart_table.find_all("tr")[1:]:
# Находим ячейки с номером, исполнителем и треком
cells = row.find_all("td")
chart_position = cells[0].get_text().strip()
artist_name = cells[1].find("a").get_text().strip()
track_name = cells[2].find("a").get_text().strip()
# Добавляем данные в словарь
chart_data[chart_position] = (artist_name, track_name)
# Сохраняем данные в файл JSON
with open("chart_data.json", "w") as file:
json.dump(chart_data, file)