python获取酷狗音乐top500的下载地址 MP3格式
作者:夜班机器人 发布时间:2021-05-06 04:38:05
标签:爬取,数据,python,酷狗音乐
下面先给大家介绍下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格网站的支持!
来源:https://blog.csdn.net/meinaozi/article/details/79955652
0
投稿
猜你喜欢
- tf.nn.conv2d与tf.layers.conv2d的区别在写CNN中注意到tensorflow目前有tf.nn.conv2d和tf.
- 通过锁机制,可以实现多线程同时对某个表进行操作。如下图所示,在某个时刻,用户甲、用户乙、用户丙可能会同时或者先后(前面一个作业还没有完成)对
- 使用“发送测试电子邮件”对话框来测试使用特定配置文件发送邮件的能力。过程发送测试电子邮件1.使用对象
- 计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。简单工厂模式又叫静态工厂方法模式,工厂
- 因为要批量用某软件处理一批eps文件,所以要模拟鼠标及键盘动作,使其能够自动化操作。#-*-coding:utf-8-*-import os
- Python对于json数据键值对遍历Python中可以使用json模块来解析JSON格式的数据,将其转换成Python中的字典或者列表对象
- 处理办法,删除该文件,或清空该文件内容;我的处理是清空后,再设置该文件权限为Everyone拒绝访问。
- easy_install 和 pip的介绍:easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包
- 规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 –
- 今早无聊。。。7点起来突然想写个刷访问量的。。那就动手吧仅供测试,不建议刷访问量哦~~很简单的思路,第一步提取代理ip,第二步模拟访问。提取
- 一直以来,jQuery是我最喜欢的框架之一。1月14号 1.4 Released版本发布后,就迫不及待去了解了一下1.4版本对比以往1.3.
- 熟悉 C 语言的小伙伴一定对 goto 语句不陌生,它可以在代码之间随意的跳来跳去,但是好多老鸟都告诫大家,不要使用 goto,因为 got
- '====================================='功能:根据ip地址输出地区'参数:ip
- asp中怎么替换最后一个逗号为空字符串?举例 aaa,bbb,ccc,eee, 这个字符串怎么让最后一个逗号变没,其他的不变啊 ?问题补充:
- 实例 1基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径。/AAA选择根
- 这篇文章主要介绍了python实现括号匹配方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 本文主要是对leveldb进行一个简单的介绍及使用Python语言对其进行操作的代码示例,具体如下。leveldb 是google实现的一种
- 本文实例讲述了php广告加载类的用法,非常实用。分享给大家供大家参考。具体方法如下:该php广告加载类,支持异步与同步加载。需要使用Jque
- 研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
- 新建图像文件后选Channels面板,新建Alpha1通道:输入文字; &nbs