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

 更新时间:2018年04月17日 14:38:31   作者:夜班机器人  
这篇文章主要介绍了python获取酷狗音乐top500的下载地址 MP3格式,文中给大家提到了python--爬取酷狗TOP500的数据,需要的朋友可以参考下

下面先给大家介绍下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的数据

你是不是也遇到不能完整爬取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可迭代对象的排序问题

    这篇文章主要为大家详细介绍一下Python中可迭代对象的排序问题,文中的示例代码讲解详细,对我们深入了解Python有一定帮助,感兴趣的可以了解一下
    2022-07-07
  • 详解PyCharm+QTDesigner+PyUIC使用教程

    详解PyCharm+QTDesigner+PyUIC使用教程

    这篇文章主要介绍了详解PyCharm+QTDesigner+PyUIC使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 利用python设计图像加密技术(Arnold算法)

    利用python设计图像加密技术(Arnold算法)

    这篇文章主要介绍了利用python设计图像加密技术(Arnold算法),本文将借助Arnold置乱法,讲解如何用python从头至尾设计出一套图像加密算法,需要的小伙伴可以才参考一下
    2022-03-03
  • pygame时序模块time的具体使用

    pygame时序模块time的具体使用

    Pygame Time模块能够帮助你更好地控制帧率和时间,从而增强游戏的可玩性,本文主要介绍了pygame时序模块time的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • python markdown转html自定义实现工具解析

    python markdown转html自定义实现工具解析

    Python-Markdown2 是一个 Python 库,用于将 Markdown 文本转换为 HTML,它是对标准 Markdown 语法的扩展,提供了一些额外的功能和选项,同时还兼容标准 Markdown,用它可以方便地生成漂亮的文档、博客文章、项目文档等
    2024-01-01
  • python实现转圈打印矩阵

    python实现转圈打印矩阵

    这篇文章主要为大家详细介绍了python实现转圈打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python实现下载指定网址所有图片的方法

    python实现下载指定网址所有图片的方法

    这篇文章主要介绍了python实现下载指定网址所有图片的方法,涉及Python针对页面的读取、遍历及文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Python 将Matrix、Dict保存到文件的方法

    Python 将Matrix、Dict保存到文件的方法

    今天小编就为大家分享一篇Python 将Matrix、Dict保存到文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python gevent协程切换实现详解

    Python gevent协程切换实现详解

    这篇文章主要介绍了Python gevent协程切换实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python 异步之推导式示例详解

    Python 异步之推导式示例详解

    这篇文章主要为大家介绍了Python 异步之推导式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03

最新评论