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的垃圾回收机制深入分析
Jul 16 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
Python找出最小的K个数实例代码
Jan 04 Python
详解Python循环作用域与闭包
Mar 21 Python
python制作抖音代码舞
Apr 07 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
Python如何执行系统命令
Sep 23 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
Python中全局变量和局部变量的理解与区别
Feb 07 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
Python 全局空间和局部空间
Apr 06 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
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
理解JavaScript中的事件
2006/09/23 Javascript
用jscript实现新建word文档
2007/06/15 Javascript
javascript 常用关键字列表集合
2007/12/04 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
python PIL模块与随机生成中文验证码
2016/02/27 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Keras loss函数剖析
2020/07/06 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
水果连锁超市创业计划书
2014/01/24 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
高三物理教学反思
2016/02/20 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Pygame Time时间控制的具体使用详解
2021/11/17 Python