python获取酷狗音乐top500的下载地址 MP3格式


Posted in Python onApril 17, 2018

下面先给大家介绍下python获取酷狗音乐top500的下载地址 MP3格式,具体代码如下所示:

# -*- coding: utf-8 -*-
# @Time : 2018/4/16
# @File : kugou_top500.py
# @Software: PyCharm
# @pyVer : python 2.7
import requests,json
headers={
 'UserAgent' : 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3',
 'Referer' : 'http://m.kugou.com/rank/info/8888',
 'Cookie' : 'UM_distinctid=161d629254c6fd-0b48b34076df63-6b1b1279-1fa400-161d629255b64c; kg_mid=cb9402e79b3c2b7d4fc13cbc85423190; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1523818922; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1523819865; Hm_lvt_c0eb0e71efad9184bda4158ff5385e91=1523819798; Hm_lpvt_c0eb0e71efad9184bda4158ff5385e91=1523820047; musicwo17=kugou'
 }
def get_songs(url):
 res=requests.get(url,headers=headers)
 return res.text
def get_song_download_url(url):
 res=requests.get(url,headers=headers)
 res_tmp_list = json.loads(res.text)
 return res_tmp_list['data']['play_url']
def get_song_page_data(url):
 Song_Json = json.loads(get_songs(URL))
 Song_List_Json = Song_Json['data']['info']
 total = []
 for i in range(len(Song_List_Json)):
 song_download_url = "http://www.kugou.com/yy/index.php?r=play/getdata&hash=%s&album_id=%s&_=1523819864065" % (Song_List_Json[i]['hash'], Song_List_Json[i]['album_id'])
 song_data_dict = {'downloadUrl':get_song_download_url(song_download_url),'fileName':Song_List_Json[i]['filename']}
 total.append(song_data_dict)
 return total
for i in range(1,18):
 URL='http://mobilecdngz.kugou.com/api/v3/rank/song?rankid=8888&ranktype=2&page=%s&pagesize=30&volid=&plat=2&version=8955&area_code=1' % i
 page_list_data = get_song_page_data(URL)
 for j in range(len(page_list_data)):
 print "%s %s" % (page_list_data[j]['fileName'],page_list_data[j]['downloadUrl'])

效果

python获取酷狗音乐top500的下载地址 MP3格式

下面看下python--爬取酷狗TOP500的数据

python获取酷狗音乐top500的下载地址 MP3格式

你是不是也遇到不能完整爬取TOP500的数据,因为规律只在前几页有用,后面有小改动,所以中间跳转了,不是完整的TOP500。我换了个方向,爬取飙升榜100首(上面代码)。

希望酷狗给大家个机会哈,毕竟才100首影响不了多大。

from bs4 import BeautifulSoup
import requests
import time
headers={
 'User-Agent':'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3298.4 Safari/537.36'
}
def get_info(url):
 wb_data = requests.get(url,headers=headers)
 soup = BeautifulSoup(wb_data.text,'lxml')
 ranks = soup.select('span.pc_temp_num')
 titles = soup.select('div.pc_temp_songlist > ul > li > a')
 times = soup.select('span.pc_temp_tips_r > span')
 for rank,title,time in zip(ranks,titles,times):
 data= {
  'rank':rank.get_text().strip(),
  'siger':title.get_text().split('-')[0],
  'song':title.get_text().split('-')[1],
  'time':time.get_text().strip()
 }
 print(data)
#酷狗飙升榜100首
if __name__ == '__main__':
 urls = ['http://www.kugou.com/yy/rank/home/{}-6666.html?from=rank/'.format(str(i)) for i in
range(1,6)]
 for url in urls:
 get_info(url)
 time.sleep(2)

总结

以上所述是小编给大家介绍的python获取酷狗音乐top500的下载地址 MP3格,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python 控制语句
Nov 03 Python
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python的面向对象编程方式学习笔记
Jul 12 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
Python求出0~100以内的所有素数
Jan 23 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
python list转矩阵的实例讲解
Aug 04 Python
用于业余项目的8个优秀Python库
Sep 21 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
如何基于matlab相机标定导出xml文件
Nov 02 Python
Python中的上下文管理器和with语句的使用
Apr 17 #Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 #Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 #Python
Numpy掩码式数组详解
Apr 17 #Python
对numpy中布尔型数组的处理方法详解
Apr 17 #Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 #Python
python3库numpy数组属性的查看方法
Apr 17 #Python
You might like
多重?l件?合查?(二)
2006/10/09 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
Python中__new__与__init__方法的区别详解
2015/05/04 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python实现结构体代码实例
2020/02/10 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
python+opencv实现车道线检测
2021/02/19 Python
全球最大的服务市场:Fiverr
2017/01/03 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
JPA面试常见问题
2016/11/14 面试题
创业者是否需要商业计划书?
2014/02/07 职场文书
企业宣传方案
2014/03/04 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
教师个人成长总结
2015/02/11 职场文书
护士个人总结范文
2015/02/13 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
农村婚庆主持词
2015/06/29 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang