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 06 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
Python实现简易Web爬虫详解
Jan 03 Python
对python字典过滤条件的实例详解
Jan 22 Python
对python判断ip是否可达的实例详解
Jan 31 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
python实现超级马里奥
Mar 18 Python
python搜索算法原理及实例讲解
Nov 18 Python
七个Python必备的GUI库
Apr 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
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
基于Three.js实现360度全景图片
2018/12/30 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
python中__call__方法示例分析
2014/10/11 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
东方电视购物:东方CJ
2016/10/12 全球购物
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
高中生家长会演讲稿
2014/01/14 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
考博专家推荐信
2014/05/10 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
布达拉宫导游词
2015/02/02 职场文书
信息技术课教学反思
2016/02/23 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
Python Numpy之linspace用法说明
2021/04/17 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
python中pycryto实现数据加密
2022/04/29 Python