爬取某酷音乐平台歌曲



前言

老是爬视频有点乏味,换个口味。今天出个爬歌曲的。后续由易到难也出个相关的系列教程。


一、基本流程

打开某酷网站播放某个歌曲,复制这个歌曲的网页地址。输入到我下面写的程序里,然后执行程序,就OK了。如下图所示:

Python 爬虫之下载歌曲(一)-LMLPHP

二、代码编写

import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 播放歌曲的网页地址,比如:https://www.kugou.com/mixsong/9gaecb60.html
video_url = ''
# 创建一个对象实例,用来表示用哪个浏览器爬取
driver = webdriver.Firefox()
# 某个歌曲的地址
driver.get(video_url)
# 等待一下,等打开网页
time.sleep(8)

# 页面打开会弹出一个窗口
close = driver.find_element(by=By.CSS_SELECTOR, value='.ui-dialog-close')
# 等登录窗口弹出来
time.sleep(5)
# 关闭弹出的登录窗口
close.click()
time.sleep(2)

# 获取歌曲的链接地址
song_url = driver.find_element(by=By.ID, value='myAudio').get_attribute('src')
print(song_url)

# 获取歌曲的名称
song_name = driver.find_element(by=By.ID, value='songName').text.strip()
print(song_name)

# 下载歌曲
response = requests.get(song_url, stream=True)
chunk_size = 1024
with open(f'{song_name}.mp3', 'wb') as f:
    for chunk in response.iter_content(chunk_size=chunk_size):
        f.write(chunk)
print(f'下载完了!!{song_name}.mp4')

整体的代码就这些,也不算很多。

基本流程如下:

  1. import一下库文件。
  2. 输入网址,让程序自动用浏览器打开并解析它。
  3. 关闭弹出的窗口,这个会影响到我们。
  4. 获取歌曲的名字和链接。
  5. 下载并用歌曲的名字保存它。

这里我就简要介绍一下大致的流程,有不懂的可以看看我之前写的爬虫教程, 有详细的解释。


三、效果展示

Python 爬虫之下载歌曲(一)-LMLPHP


总结

这样各位就可以下载自己想要的歌曲了,不登录也可以下载哈。

12-27 04:00