Python编程:爬取歌曲案例

liftword2周前 (06-15)技术文章8

恭祝大家春节愉快!

请点赞,转发加关注和私信,获取源代码!

在介绍爬取音频数据案例的课程中,我们大概讲解了爬虫应该知道和应该会一些知识。

在2021年春节长假期间,宅家或外出旅行,使用Python程序,能爬取自己喜欢的歌曲,听自己喜欢的歌曲,伴随自己和亲人渡过这个愉快的节日,夫复何求!

不多说了,开干!

  1. 首先,说说实现爬取歌曲的思路:
"""
思路步骤:网址-请求&接收-解析和筛选-保存文件
1. 爬取数据网站(url&headers)
    爬取哪个网站的歌曲?url = 'https://www.xxx.com/';
    爬取网站歌曲的伪装?headers = {'User-Agent': ' '}
2. 请求及接收:发送和接收网站响应的数据(response对象和html文档)
	  导入第三方库 requests
3. 解析和筛选:对html文档进行筛选,筛选出自己需要的数据(歌曲列表和音乐数据)
    导入第三方库 
4. 保存:对于得到的数据进行保存
"""
  1. 爬取数据网站:

安装第三方库:pip install requests, pip install lxml及导入库

import requests             # 导入请求模块,向网站发送请求及接收数据,自目标网址里获取网页数据
from lxml import etree      # 导入lxml.etree模块,解析筛选网站响应的数据
import time


# 1. 音乐数据来源:

headers = {
   'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Mobile Safari/537.36'
}
url = 'https://music.xxx.com/artist?id=1156'

# 2. 向网站发送请求获取数据

response = requests.get(url)
#print(response)                


# 3.自网页数据筛选出需要的数据

html = etree.HTML(response.text)                                            # 解析获取的网页数据
music_idlist = html.xpath('//a[contains(@href,"/song?")]')      # 获取音乐数据的标签

path = "D:/Download/music/"      # 将歌曲下载到指定路径
# 拆分单个音乐的标签
for data in music_idlist:
			href = data.xpath('./@href')[0]                                      # 筛选出含歌曲的信息
			music_id = href.split("=")[1]                                          # 自歌曲信息中筛选出歌曲id
			music_name = data.xpath('./text()')[0]                          # 获取歌曲名字

			# 下载接口
			base_url = 'https://music.xxx.com/song/url?id='
			download_url = base_url + music_id                            # 拼接下载歌曲的完整url
			musicdata = requests.get(download_url, headers=headers).content     # 请求歌曲的数据

# 4. 保存音乐文件:将获得的音乐数据保存为音乐文件

with open(path+music_name+".mp3",'wb') as file:        # 创建一个空白的mp3文件
# with open('./163song/%s.mp3' % music_name, 'wb') as file:
   			file.write(musicdata)                                   					  # 将请求得到的歌曲数据写入空白的mp3文件
				time.sleep(0.3)
print('<%s>下载成功' % music_name)

最后,运行爬虫程序,爬取自己喜欢歌曲!


教材编制不易,希望能帮助到更多有兴趣的学习者;请您点赞转发及关注,可以让更多的人假日学编程;非常感谢!


作者:关中老玉米

日期:2021年02月10日

相关文章

一起用python做个炫酷音乐播放器,想听啥随便搜

前言前段时间写的Python自制一款炫酷音乐播放器,有不少小伙伴私信我,对播放器提了不少改进建议,让我完善播放器的功能。今天音乐播放器2.0版本完成了,大家一起来看看是如何用python自制一款炫酷的...

零基础小白,如何利用DeepSeek自动编程,2小时完成音乐播放器?

自从DeepSeek横空出世,大家都被它的强大功能震惊了,于是满世界的教程来了,但都是什么生成PPT、总结、文案啥的,烂大街了!今天,我就教大家,怎么用DeepSeek的强大能力,2小时完成一个完整的...

利用python实现音乐自由

上期我们讲到了如何利用python实现小说自由,既然有了小说那边听音乐,边看小说是不是会更加快乐呢。这期我们就来讲讲如何利用python实现音乐自由。首先我们来打开某音乐网站来分析下源码点开一个<...

利用python爬虫爬取网站音乐

最近我想在网站上下载几首音乐放到我的u盘里听,但是上网上一找,各大音乐网站下载歌曲(尤其是好听的歌曲)都需要vip。对于像我这样的穷人来说,肯定是不会花几十块钱去下载几首音乐啦,而且作为程序员,充钱去...

Reaper:Python脚本加速音乐制作过程

这是编程派发布的第二篇投稿,作者atm是一名音乐工作者。文章讲述的是Python在音乐制作软件Reaper中的应用。内容虽然不长,对于大多数人来说用处也不大,但是算是开拓一些眼界。下次在知乎碰到Pyt...