Эта статья была впервые опубликована в общедоступной учетной записи «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. Обмен данными и инструментами
Добро пожаловать, чтобы следовать за нами и расти вместе!