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

打印 上一主题 下一主题

主题 987|帖子 987|积分 2961

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

 
 
你需要准备

本次使用的环境是Python3.8,编辑器是pycharm 
模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,re、os都是内置模块,不需要安装。
pip install requests 即可
代码实现

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

  • 发送请求
  • 获取数据
  • 解析数据
  • 保存数据
这里我就不讲怎么分析开发者工具了,下次做一个详细的教程,讲解开发者工具。
模块导入
  1. import requests  # 数据请求模块
  2. import re  # 正则表达式模块
  3. import os   # 文件操作模块
  4. # 完整代码获取q群 279199867 我还准备了大量的学习教程和资料,都在群里自取哦
复制代码
 
发送请求
  1. url = 'https://music.163.com/discover/toplist?id=3778678'
  2. headers = {
  3.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
  4. }
  5. response = requests.get(url=url, headers=headers)
复制代码
 
获取数据
  1. result = re.findall('<li><a target="_blank" href="https://www.cnblogs.com/song\?id=(\d+)">(.*?)</a></li>', response.text)
  2. for music, title in result:
  3.     music_url = f'http://music.163.com/song/media/outer/url?id={music}.mp3'
  4.     music_content = requests.get(url=music_url, headers=headers).content
复制代码
 
保存数据
  1. with open(filename + title + '.mp3', mode='wb') as f:
  2.     f.write(music_content)
  3.     print(title)
复制代码
 
当然这只是最简单的爬取榜单音乐,评论、歌词等等都可以爬取,还有制作词云图、通过搜索下载,音乐下载器,等等各种实现下载的方式。
好了,今天的分享就到这里咯~
推荐一套Python爬虫教程:代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表