首页 > 编程语言 >只用20行代码,Python实现爬取网易云音乐,非常简单!

只用20行代码,Python实现爬取网易云音乐,非常简单!

时间:2022-08-22 20:35:31浏览次数:82  
标签:20 headers Python 代码 爬取 url music 模块 requests

哈喽,大家好,今天咱们试试只用20行代码来实现批量获取网抑云文件保存本地,炒鸡简单!

悄悄的告诉你,其实不到20行代码~

 

 

你需要准备

本次使用的环境是Python3.8,编辑器是pycharm 

模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,re、os都是内置模块,不需要安装。

pip install requests 即可

代码实现

本次实现步骤大致分为以下五步:

  1. 发送请求
  2. 获取数据
  3. 解析数据
  4. 保存数据

这里我就不讲怎么分析开发者工具了,下次做一个详细的教程,讲解开发者工具。

模块导入

import requests  # 数据请求模块
import re  # 正则表达式模块
import os   # 文件操作模块

# 完整代码获取q群 279199867 我还准备了大量的学习教程和资料,都在群里自取哦

 

发送请求

url = 'https://music.163.com/discover/toplist?id=3778678'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)

 

获取数据

result = re.findall('<li><a href="/song\?id=(\d+)">(.*?)</a></li>', response.text)
for music, title in result:
    music_url = f'http://music.163.com/song/media/outer/url?id={music}.mp3'
    music_content = requests.get(url=music_url, headers=headers).content

 

保存数据

with open(filename + title + '.mp3', mode='wb') as f:
    f.write(music_content)
    print(title)

 

当然这只是最简单的爬取榜单音乐,评论、歌词等等都可以爬取,还有制作词云图、通过搜索下载,音乐下载器,等等各种实现下载的方式。

好了,今天的分享就到这里咯~

推荐一套Python爬虫教程:代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!

标签:20,headers,Python,代码,爬取,url,music,模块,requests
From: https://www.cnblogs.com/hahaa/p/16614152.html

相关文章

  • [NOIP2001 提高组] 一元三次方程求解
    题目链接:https://www.luogu.com.cn/problem/P1024试题分析:三个答案都在[-100,100]范围内,两个根的差的绝对值>=1,保证了每一个大小为1的区间里至多有1个解,也就是说当区间......
  • [2015年NOIP提高组] 跳石头
    先用二分法谋定一个数,temp_ans=(L+R)/2;我们假设这个temp_ans,就是所有删除方案中,maxn个最小差值中的最大的那个,即答案:ans。而根据题目要求,我们需要拿掉M个石头。所......
  • [2015年NOIP提高组] 跳石头
    运用二分策略先写函数确定距离,然后看要搬的石头数满足题意吗。距离确定后,把间距小于确定距离的需要全部搬走。然后向左或向右再找更小或大的距离每次都检查是否能仅移走......
  • 【并发操作】协程,线程,进程是什么,在Python中怎么应用?
    前言生活中的多任务时时刻刻存在,例如小张一边码字一边看屏幕,又例如小蔡可以一边跳舞一边打篮球,这就是生活中的多任务。那么计算机中的多任务是什么呢、怎么使用呢?就让我们......
  • Python 工匠:一个关于模块的小故事
    前言模块(Module)是我们用来组织Python代码的基本单位。很多功能强大的复杂站点,都由成百上千个独立模块共同组成。虽然模块有着不可替代的用处,但它有时也会给我们带来麻......
  • python中不同方法的按索引读取数组的性能比较——哪种按索引读取数组的性能更好
               ......
  • Windows10/11 三步安装wsl2 Ubuntu20.04(任意盘)
    如果你是Windows用户的话,觉得使用Linux很不方便,那么这篇文章可以给你提供一个还算舒适的Windows10下Linux开发的环境,并且不需要多高的配置,也可以很顺畅的使用。(我的笔记本......
  • 2022.8.22
    上午补充一下PPT,讲了课,发现之前弦图性质的证明有些Bug。讲课内容没大问题,搞清楚二项式反演和扩展min-max容斥的推导,学习单位根反演。CF的题还没有时间看。TodoList先......
  • [2015年NOIP提高组] 跳石头
    一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有......
  • "蔚来杯"2022牛客暑期多校训练营(加赛)
    比赛链接:https://ac.nowcoder.com/acm/contest/38727E.Everyoneisbot题意:有\(n\)个人在群里复读,第\(i\)个人在第\(j\)个复读会获得\(a_{i,j}\)瓶冰红茶。......