Сканер Python получает тексты исполнителя облачной музыки Netease

искусственный интеллект Python рептилия Selenium

Эта статья была впервые опубликована в общедоступной учетной записи «Python Knowledge Circle», перейдите в общедоступную учетную запись, чтобы увидеть ее напрямую.

«Чтобы прочитать текст, требуется около 3,1 минуты.

Предыдущая статья сканирует имя певца и идентификатор певца. Эта статья напрямую загружает тексты песен соответствующего певца на основе идентификатора певца, просканированного в предыдущей статье. На самом деле я могу записать их в большой проект и разделить этот большой проект на маленькие проекты, чтобы всем было легче его понять, и, во-вторых, если маленькие проекты можно использовать, они вместе будут законченным проектом.

Не имеет значения, если вы не узнали об этом в прошлой статье, официальный аккаунт может ответить на «Певец», чтобы получить CSV-файл с последним результатом сканирования, который содержит имя певца и идентификатор певца.

Что ж, давайте сначала посмотрим на результаты сканирования текстов песен.Я ввел id Анджелы Чанг: 10562 и просканировал тексты 50 популярных песен.

Среда проекта

Язык: Питон
Инструменты: Пичарм

пакет гида

запросы: Получить исходный код страницы в соответствии с URL-адресом.
BeautifulSoup: анализировать и извлекать исходный код.

Структура программы:


Программа состоит из шести частей:
get_html(): извлечь исходный код страницы
get_top50(): извлечь информацию о песне певца.
get_lyrics(): извлечь текст песни.
save2txt(): сохранить текст в виде текстового файла.
main: основная функция.

Разобрать страницу

Это первый шаг сканера.Обратите внимание на настройки прокси ip, чтобы ваш собственный ip не был заблокирован.Если объем данных сканера большой, рекомендуется добавить время ожидания в основную функцию, чтобы не увеличить нагрузку на целевой сервер сканирования. , снизит риск блокировки.

Функция этой функции - вернуть исходный файл страницы популярной песни. Я уже писал статью раньше, но используется библиотека селена. Библиотека селена относительно медленно сканируется. URL-адрес объединяется на основе идентификатора, полученного в предыдущей статье, но URL-адрес страницы является поддельным URL-адресом, и источник страницы не может быть извлечен с помощью поддельного URL-адреса. Позже я проверил API NetEase Cloud Music и обнаружил, что настоящий URL-адрес не имеет #. Просто удалите избыточный # и добавьте соответствующий идентификатор певца. Я поместил этот URL-адрес в основную функцию.

Получить информацию о песне исполнителя

Исходный код, извлеченный функцией get_html(url), извлекает название песни и идентификатор песни. Этот тег селектора глубоко спрятан. Сначала я распечатываю суп, нахожу позицию первой песни, иду вперед, чтобы найти тег, и анализирую Выходной селектор .f-hide #song-list-pre-cache a, а затем извлеченные элементы обрабатываются, ненужная информация удаляется, действующая информация сохраняется и возвращается во взаимно однозначном соответствии в виде zip .

получить текст

Получите соответствующий текст песни через идентификатор песни, полученный с помощью предыдущей функции.Если вы не можете получить контент напрямую с URL-адресом на странице, вы можете только соединить идентификатор песни через предоставленную ими ссылку API. После синтаксического анализа используйте json.loads() для декодирования формата python json, извлечения информации о текстах песен, а затем используйте re.sub() для реализации функции обработки замены строк и работы с элементами, которые нам не нужны ранее.

сохранять данные

Непосредственно используйте название песни в качестве имени и сохраните его как обычный текстовый файл.Если вы хотите сохранить его в определенном каталоге, вам необходимо создать этот каталог заранее.

выполнять основную функцию

Наконец, основная функция выполняется. Ввод должен сканировать идентификатор певца и запускать его. Я устанавливаю время ожидания каждый раз, когда получаю текст песни. Это также небольшая стратегия для предотвращения блокировки IP.

Что ж, если вы хотите в будущем увидеть текст популярной песни певца, найдите id ЦА, запустите код этой статьи, и вы сможете скачать текст. Если вы пойдете на концерт в будущем, вам больше не придется беспокоиться о том, что вы не сможете спеть с певцом из-за того, что забыли текст.

Официальный аккаунт отвечает на «лирику», чтобы получить исходный код.

Только лирика может это сделать, следующая статья научит вас скачивать музыку.

Если эта статья будет полезна для вас, я надеюсь, что вы можете оказать дополнительную поддержку, обратить внимание, лайкать и лайкать, пересылать и пересылать, если у вас есть какие-либо вопросы, пожалуйста, свяжитесь со мной в фоновом режиме, или вы можете присоединиться к группе технического обмена в фон, есть Великий Бог, мы можем общаться и учиться вместе.

Рекомендуемое чтение

Эта статья поможет вам легко начать работу с поисковым роботом Python.

Сканер Python получает информацию об исполнителе облачной музыки NetEase

Пусть код танцует с Майклом Джексоном



Публичный аккаунт "Круг знаний Python"

Нажмите и удерживайте QR-код, чтобы следовать за нами

Этот публичный аккаунт фокусируется на:

1. Обмен технологиями Python

2. Совместное использование сканера Python

3. Обмен данными и инструментами

Добро пожаловать, чтобы следовать за нами и расти вместе!