8月最新千千音乐爬取(requests+bs4)
2019-07-08 20:39
78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44220464/article/details/95096286
据之前千千音乐撸代码几个月了,该网站应该是月初改的加密方式,原因大概是版权问题很多音乐都下架,后面的有些音乐也不能下载,请谅解
之前可以在F12里直接找到url的,现在我用的fiddler抓包抓到
代码如下,写了三个函数,分别为单页多页爬取,这里的歌曲名没具体找,将就下
from urllib import request from bs4 import BeautifulSoup import requests def get_songid_list(headers): # 构造歌曲id列表 key = input('请输入歌手名字') item = {} item['key'] = key url_key = 'http://music.taihe.com/search?' #构造歌手页url response = requests.get(url=url_key,headers=headers,params=item) # 使用bs4解析源码 html = response.text # 批量获取歌手的歌曲名id soup = BeautifulSoup(html,'lxml') content = soup.select('.song-title a') # 构造歌曲列表,方便下载 items = [] for c in content[0::2]: link_id = c.get('href').split('/')[-1] items.append(link_id) # 返回一个带有歌曲id的列表 return items def multi_page(headers): #多页抓取(不同的是起始位置,页数遍历即可) page = input('请输入要下载的页数') key = input('请输入歌手名字') item = {} items = [] for page in range(int(page)): item['start'] = 0*page item['key'] = key item['size'] = '20' #构造歌手页url url_key = 'http://music.taihe.com/search?' #构造歌手页url response = requests.get(url=url_key,headers=headers,params=item) # 使用bs4解析源码 html = response.text # 批量获取歌手的歌曲名id soup = BeautifulSoup(html,'lxml') content = soup.select('.song-title a') for c in content[0::2]: link_id = c.get('href').split('/')[-1] items.append(link_id) # 返回一个带有歌曲id的列表 return items def load_music(url_list): # 写入文件函数 # 遍历歌曲id列表 for url in url_list: parmas = {'songid':url} load_url = 'http://musicapi.taihe.com/v1/restserver/ting?method=baidu.ting.song.playAAC' response = requests.get(load_url,headers=headers,params=parmas) res = response.json() # 期中有的show_link取不到,没仔细看 try: link = res['bitrate']['show_link'] req = request.Request(url=link,headers=headers) r = request.urlopen(req).read() #我们以二进制方式写入 with open(url+'.mp3','wb')as f: f.write(r) print(url,'下载成功') except KeyError as K: print(K+'is not exist') if __name__ == "__main__": headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.16 Safari/537.36', } # load_music(get_songid_list(headers=headers)) multi_page()
相关文章推荐
- 最新汽车音乐打包下载 汽车音乐打包下载网盘 汽车音乐网盘打包 10000首无损音乐云盘
- 最新机器学习超多项目实战 纯项目实战+音乐推荐系统+Pytorch+机器翻译+金融反欺诈等
- 最新机器学习超多项目实战 纯项目实战+音乐推荐系统+Pytorch+机器翻译+金融反欺诈等
- 2019最新车载音乐 2019最火车载音乐 2019车载音乐推荐 2019车载音乐下载
- CSDN博客频道8月新改进介绍:首页增加“最新”“最热”tag切换+首页推荐区域+回收站
- 周鸿祎上直播看点很多:美女、音乐、AI、豪宅,可网民最新奇的是他家门口的自动塑封鞋套
- 拷贝(添加)本地音乐到iPhone、iPad设备(最新iTunes12.7)
- Simplify for Mac(音乐控制器) v3.4最新破解版
- 2018最新Vue 2.0实战高级-开发移动端音乐Web APP
- Python爬虫实战(1)之千千音乐热歌前50
- 8月第2周回顾:中国盗版率下降 CCIE最新统计出台
- 2018年最新 Vue开发移动端音乐课程 Vue 2.0高级实战开发WebApp教程
- 千千静听2014 v8.3.6 官方最新版
- 8月第2周回顾:中国盗版率下降 CCIE最新统计出台
- 拷贝(添加)本地音乐到iPhone、iPad设备(最新iTunes12.7)
- 8月第2周回顾:中国盗版率下降 CCIE最新统计出台
- 音乐收藏:温柔、轻快、动听!Love Rain ——苏醒、戴娆 共叙美丽邂逅爱情故事最新单曲(正式版MV )
- 最新Vue 2.0实战高级开发移动端音乐Web APP
- 周鸿祎上直播看点很多:美女、音乐、AI、豪宅,可网民最新奇的是他家门口的自动塑封鞋套
- Bang Bang Productions Rellek VST for Mac(音乐VST插件) 最新版