文章目录

  • 前言:
  • 总结:

前言:

1、爬取网站:千千音乐
2、说明:该网站属于商业网址,本案例仅用于学习测试,不用于其他用途。
3、技术路线:requests+re+os
4、代码

'''
百度音乐
version:01
author:金鞍少年
Date:2020-03-02
'''
import requests
import os
import reclass taiheMusic():def __init__(self):self.key = input('请输入您喜欢的明星:>>').strip()self.item = {}self.item['key'] = self.keyself.url = 'http://music.taihe.com/search?' # 网站urlself.path = r'./千千音乐/' + self.key +'/'  # 保存路径self.headers = {"Referer": "http://music.taihe.com/","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"}# 获取HTMldef getPageHTMl(self):re = requests.get(url=self.url, headers=self.headers, params=self.item)if re.status_code == 200:re.encoding = re.apparent_encoding   # 以网站编码为准return re.text# 获取歌曲名和 songiddef getContentHTMl(self,HtmlText):MuiscName = re.findall('data-action="play" title="播放(.*?)"', HtmlText)songid = re.findall(' href="/song/(\d+)', HtmlText)for i in range(len(MuiscName)):yield MuiscName[i], songid[i]# 获取歌曲的下载链接def songJsonUrl(self, name, songid):urls = 'http://musicapi.taihe.com/v1/restserver/ting?method=baidu.ting.song.playAAC' \'&format=jsonp&' \'&songid='+str(songid)+'&' \'from=web&_=1583128150041'res = requests.get(urls, headers=self.headers).json()if res:mp3 = res['bitrate']['show_link']yield name, mp3# 下载MP3def downloadMp3(self, name, mp3):if not os.path.exists(self.path):os.makedirs(self.path)  # 递归创建文件夹dmp3 = requests.get(mp3)with open(self.path + '%s.mp3' % name, 'wb') as f:f.write(dmp3 .content)print('下载 %s成功' % name)# 核心逻辑def fun(self):HtmlText = self.getPageHTMl()for name, songid in self.getContentHTMl(HtmlText):for name, mp3 in self.songJsonUrl(name,songid):self.downloadMp3(name,mp3)if __name__=='__main__':Mp3 = taiheMusic()Mp3.fun()

总结:

1、目前仅能实现输入歌手姓名下载歌手列表首页歌曲,没能实现分页功能。
2、获取到的页面内容有很多转义,使用正则表达式往往不能完全匹配。
3、代码写的过于繁琐,版本二得优化一下

每日爬虫:爬百度千千音乐相关推荐

  1. python网易云_用python爬虫爬取网易云音乐

    标签: 使用python爬虫爬取网易云音乐 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页版找一下你想要听的歌曲点击进去.按键盘F12打开网页调试工具,点击Ne ...

  2. python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇

    image.png 年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了- 思 ...

  3. python爬虫----爬取网易云音乐

    使用python爬虫爬取网易云音乐 目录 使用python爬虫爬取网易云音乐 需要使用的模块 开始工作 运行结果 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页 ...

  4. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  5. python爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取上千条新闻

    爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取千条新闻 文章目录 爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取千条新闻 1.前言 2 .爬虫原理介绍 2.1.图片爬虫 2.2 文字爬虫 3.用八爪鱼 ...

  6. Python爬虫—爬取网易云音乐【热歌榜】歌曲的精彩评论(写入txt文本文件或者MySQL数据库)

      最近在学Python爬虫,看了Blibili爬取网易云音乐评论的视频,视频中是将一首歌的评论存入json文件,我在此代码的基础上扩展了三点:     1.爬取热歌榜200首歌曲的精彩评论:     ...

  7. 如何用Python网络爬虫爬取网易云音乐歌曲

    今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...

  8. Python3---站在大佬肩膀写爬虫-爬取网易云音乐热歌榜歌曲热评(精彩评论)

    和我一起加入CSDN----程序猿和攻城狮的社区 网易云音乐是我比较喜欢的一个音乐平台,对于特别热爱听歌的人来说,网易云音乐精准的音乐定位和独特歌曲推荐,让人使用起来很舒服.所谓:自古评论出人才,精彩 ...

  9. PHP爬虫爬取网易云音乐热门评论

    说起爬虫,恐怕第一个想到的都是Python,PHP的就少之又少. 得空闲下来,自己用PHP做了一个爬虫,爬取网易云音乐的热门评论. 效果图: 下面简单说一下思路 首先,在网易云官网排行榜内,审查元素, ...

  10. Python爬虫爬取酷狗音乐TOP500

    Python大作业 内容简介: 用Python来爬取酷狗音乐TOP500的歌曲信息,统计这500首歌曲中出现的所有歌手,并做可视化处理生成词云 实验代码: import time import req ...

最新文章

  1. 案例开发分析 || ​​​​​​​Scheduler组件
  2. 浏览器加载和渲染html的顺序
  3. java opencv磨皮算法_使用OPENCV简单实现具有肤质保留功能的磨皮增白算法
  4. PairOfDice示例
  5. 2022-2027年中国智能化设计行业发展前景及投资战略咨询报告
  6. 什么是SRE?SRE需要具备什么能力?
  7. rtl8188linux内核配置,编译基于rtl8188cu控制芯片的USB无线网卡在Linux下的配置
  8. iOS UITableView 指定组头悬停位置
  9. foxmail去除账户访问口令
  10. 笔记本连接显示器没有声音解决方法
  11. 边云协同智能技术在电力领域的应用
  12. IPP简介及windows下安装说明
  13. Hash 和 History模式的区别
  14. 适合四季畅饮的饮料 体动果味苏打水
  15. AI外呼机器人系统搭建和私有云部署
  16. vue v-for动态循环select,并取其中的值,和值的分类
  17. 门店经营指标数据分析!(独家秘笈…
  18. a320计算机测试,A320飞机常见计算机故障复位提示.pdf
  19. Ubuntu18.04 命令行打开计算器
  20. 免费音频素材下载(不定时更新)

热门文章

  1. 二级计算机的office用到哪些函数,计算机二级MS office excel中所用函数整理
  2. ant design vue利用rowClassName给table添加行样式
  3. c语言else if函数的使用方法,ELSE IF THEN 函数的用法
  4. SQL Server 数据库实验课第七周——授权:授予与收回
  5. 【游戏建模全流程】ZBrush生物模型雕刻教程:豹纹壁虎
  6. 用计算机怎么求锐角三角函数值,用计算器求锐角三角函数值与由锐角三角函数值求锐角.doc...
  7. 一年成为Emacs高手(像神一样使用编辑器)
  8. rt-thread i2c 使用教程
  9. Aha!设计模式(21)-工厂方法(2)
  10. 华为云点学堂为你揭开DevOps转型的秘密