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实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
Python使用pylab库实现画线功能的方法详解
Jun 08 Python
python3之模块psutil系统性能信息使用
May 30 Python
python 平衡二叉树实现代码示例
Jul 07 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Python3中urlencode和urldecode的用法详解
Jul 23 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
基于python代码批量处理图片resize
Jun 04 Python
python中函数返回多个结果的实例方法
Dec 16 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 管理系统程序中的后门
2009/08/05 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
php的sso单点登录实现方法
2015/01/08 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
Python基于DES算法加密解密实例
2015/06/03 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
python读取几个G的csv文件方法
2019/01/07 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python reversed函数及使用方法解析
2020/03/17 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
劳资专员岗位职责
2013/12/27 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
2015年服务员工作总结
2015/04/08 职场文书
小学运动会入场口号
2015/12/24 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python