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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
Python bisect模块原理及常见实例
Jun 17 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
python 算法题——快乐数的多种解法
May 27 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中进行身份认证
2006/10/09 PHP
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
php函数与传递参数实例分析
2014/11/15 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
2013/05/15 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
JS设置手机验证码60s等待实现代码
2017/06/14 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
Python求导数的方法
2015/05/09 Python
python实现学生管理系统
2018/01/11 Python
python操作mysql代码总结
2018/06/01 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
酒店管理自荐信
2013/10/23 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
小学工作总结2015
2015/05/04 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL