找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 31931|回复: 0

程序员绝对不可能花钱系列--Python获取VIP音乐

[复制链接]

该用户从未签到

发表于 2021-1-22 14:42:34 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
最近疫情原因,我们公司比较“人性化”,在疫情刚刚爆发之后,我就逃离了毒圈,然后在家办公,但是,相对在公司的时候,清闲了太多,又不知道去哪里玩,于是,就在家办个‘补习班‘,教家里的小孩学编程,其中,python爬虫就成为我教他们内容的首选项,今天也开源一个小代码,实现vip音乐的获取

大家可以自己去下载玩一下

至于详细的爬虫实现原理,我在之前的文章中进行过详细的讲解,大家可以看一下:
五步带你探究爬虫爬取视频弹幕背后的真相,附爬虫实现源码
好了,话不多说,上代码:
开发工具:pycharm
开发环境:python3.8.5
#通过一个网站 拿他的数据#爬虫的核心步骤 => 获取url 接受响应(发送请求) 筛选数据 保存本地#代码前面写上本次案例需要用到的扩展包(模块)importrequests#python代码模拟浏览器发送网络请求importjson#做json处理defmain:geshou = str(input('请输入指定歌手的名称: '))# print(geshou)#获取多少个页面的歌yeshu = int(input('请输入指定页数: '))#0-yeshu#1-yeshu+1foriinrange(1,yeshu+1):url ="http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={}&pn={}&rn=30&httpsStatus=1&reqId=00f6f9b0-572e-11eb-acc3-fbf111a8d0de".format(geshou]i)#伪装浏览器headers = {#键值对的方式 浏览器的类型"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"]"Referer":"http://www.kuwo.cn/search/list?key=%E5%91%A8%E6%9D%B0%E4%BC%A6"]"csrf":"HTJJKH4VAQ"]"Cookie":"_ga=GA1.2.1345614870.1610439929; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1610439929,1610687692; _gid=GA1.2.1361641767.1610687692; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1610714039; _gat=1; kw_token=HTJJKH4VAQ"}#发送请求res = requests.get(url]headers=headers)# print(res.text)html = res.textjsons = json.loads(html)# print(jsons)data = jsons['data',['list',# print(data)foriindata:#音乐名字name = i['name',# 音乐IDrid = i['rid',# 后台页面拿到指定歌手歌曲的音乐路径url ="http://www.kuwo.cn/url?format=mp3&rid={}&response=url&type=convert_url3&br=128kmp3&from=web&t=1610714066130&httpsStatus=1&reqId=00f83230-572e-11eb-acc3-fbf111a8d0de".format(rid)result = requests.get(url] headers=headers).json# print(result.text)music_url = result['url',# print(music_url)#下载withopen(r'C:\Users\SunComputer\Desktop\VIP音乐/{}.mp3'.format(name)]'wb')asf:print('正在下载{}'.format(name)] end='')music = requests.get(music_url)f.write(music.content)print('\t下载完毕')main刚刚接触python的小伙伴,可以每获取一步数据就打印一次,这样可能对于你的理解有一定的帮助
更多计算机开发学习,关注我,分享源码和编程思想,大家一起学习啊,后期我会将我的python的一些小代码开源到我的码云中

码云中我已经上传了一些Java相关得学习代码,包括Java基础、微服务框架,多线程实现案例等,大家可以自行下载

                               
登录/注册后可看大图


                               
登录/注册后可看大图
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-2 00:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表