跟我一起学-Python爬取(酷我)
来来来,有兴趣的可以看看
一 进入酷我音乐官网
http://www.kuwo.cn/
二 按下F12
跳出一个框框
三 在搜索栏输入先要搜索的内容,以薛之谦为例,点击搜索
四 获取音乐地址
看上图我们发现抓取到了许多的报文,但是哪些是有用的呢?
首先我们要想,想要获取音乐,我们是不是要获取音乐的请求地址,然后我们就在报文里找啊找,然后我们没有找到,那怎么办呢?,我们想呀想呀,忽然发现我们都没有播放音乐,当然是找不到的啦!既然想到了这里,那我们就找一首歌放放,这里播放<演员>,然后我们再看我们的报文里有没有歌曲请求地址。
如果还是没有找到的话请尝试按下F5刷新
好了,现在我们找到音乐地址了,我们请求看看是什么
呀打开就能放了呀,so这就是我们要的音乐地址,接着我们找到地址了怎么办呢?
五 分析
接下来,我们是不是要想想音乐地址怎么动态获取呢?对就是动态获取,总不能我们自己手动去寻找地址获取音乐吧!
so,我们继续对抓到的包进行分析,忽然我们发现
这个url可以获取我们需要的歌曲链接,于是我们对这个请求进行分析。
http://www.kuwo.cn/url?format=mp3&rid=6468891&response=url&type=convert_url3&br=128kmp3&from=web&t=1586271300049&reqId=c112db21-78df-11ea-a14f-953e08685b4b
对于这个请求地址,我们发现http://www.kuwo.cn/url?format=mp3&rid=这个是需要获取的&response=url&type=convert_url3&br=128kmp3&from=web&t=1586271300049&reqId=c112db21-78df-11ea-a14f-953e08685b4b
接下来我们明确了要获取的参数rid,那么rid哪里来呢?
我们继续往下分析
咦,这个和我们请求中的rid一样,那么我们就找到了获取参数rid的地方!!!!!!!
我们还可以发现通过http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key=%E8%96%9B%E4%B9%8B%E8%B0%A6&pn=1&rn=30&reqId=c10ff4f0-78df-11ea-a14f-953e08685b4b这个url我们可以获取歌曲的列表,当当当,这时候我们是不是就联想到,可以进行对指定的搜索内容进行歌曲url的获取呢!!
接着我分析http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key=%E8%96%9B%E4%B9%8B%E8%B0%A6&pn=1&rn=30&reqId=c10ff4f0-78df-11ea-a14f-953e08685b4b这个url
我们发现key=我们要搜索的关键词(请求时进行了编码),pn=要搜索的页数,rn=每页多少条数据其余的参数不管
六 实例
搜索指定歌手对指定页数进行爬取音乐下载到本地
import requestssearch_url = "http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={}&pn={}&rn={}&reqId=c10ff4f0-78df-11ea-a14f-953e08685b4b"
get_song_url = "http://www.kuwo.cn/url?format=mp3&rid={}&response=url&type=convert_url3&br=128kmp3&from=web&t=1586271300049&reqId=c112db21-78df-11ea-a14f-953e08685b4b"header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400","Referer":"http://www.kuwo.cn/search/list?key=%E8%96%9B%E4%B9%8B%E8%B0%A6","csrf":"OL8RJ2IMM2","Cookie":"_ga=GA1.2.55450332.1582987284; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1583842435,1584019511,1584358122,1586270844; _gid=GA1.2.698376560.1586270844; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1586271144; kw_token=OL8RJ2IMM2"}ret = requests.get(url.format("周杰伦", 1, 30), headers = header).json()
data = ret["data"]["list"]
for i in data:song_name = i["name"]song_url = kuwo_get_song_url(i["rid"])file = open("酷我音乐/{}.mp3".format(song_name), "wb")ret = requests.get(song_url, headers = header).contentfile.write(ret)file.close()print(name, song_name)print("下载完成")
七 结语
至此这篇文章到此结束,我问题的小伙伴可以在下发留言,以上实例是一个很简单的流程,大家可以参考。
跟我一起学-Python爬取(酷我)相关推荐
- python爬取股票大单历史记录_python爬取股票实时数据,python爬虫与股票分析
内容导航: Q1:怎么学python爬取财经信息 本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表 ...
- 学python能赚什么外卖-python爬取外卖
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! time.sleep(1)d:pythonvenvscriptspython.ex ...
- 用Python爬取好奇心日报
用Python爬取好奇心日报 本项目最后更新于2018-7-24,可能会因为没有更新而失效.如已失效或需要修正,请联系我! 本项目已授权微信公众号"菜鸟学Python"发表文章 爬 ...
- python爬取b站评论_python高效之爬了B站再爬微博
全文简介 本文是用Python爬取微博移动端的数据.可以看一下Robots协议.另外尽量不要爬取太快.如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严厉.所以,不要难为别人,到最后其实是在难 ...
- 看看你爱的他今天是什么‘颜色‘ -- Python爬取微博评论制作专属偶像词云
简介:快来拿出你珍藏的pick star,用大家对他的爱重塑一个他吧.通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的哦! 很多人学习python,不知道从何学起. 很多人学习python,掌 ...
- steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息
前言 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我给大 ...
- python爬取网页版QQ空间,生成词云图、柱状图、折线图(附源码)
python爬取网页版QQ空间,生成词云图.柱状图.折线图 最近python课程学完了,琢磨着用python点什么东西,经过一番搜索,盯上了QQ空间,拿走不谢,欢迎点赞收藏,记得github给个sta ...
- python爬房源信息_用python爬取链家网的二手房信息
题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...
- Python 爬取 B 站 5000 条视频,揭秘为何千万人为它流泪!
[CSDN 编者按]<哪吒>看哭了无数人!编者看的那场,有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑.到了哪吒成魔要杀父亲.跪别父母.因为宿命不得以和敖丙为敌时,影院里突然安静下 ...
最新文章
- 15篇「ICCV2021 Oral」最新论文抢先看!看当下计算机视觉在研究什么?
- 7种不同的使用AI聊天机器人的方式
- mysql时间相减得到毫秒值_Mysql 字符串、时间、时间戳相互转换,相减获取秒数...
- SolidWorks学习笔记4特征
- hdu 5023 poj 2777(线段染色)2014 ACM/ICPC Asia Regional 广州 Online
- SAP Spartacus B2B Org Unit List节点展开的递归逻辑实现
- 相信应该有百分九十的男生看见这个东西是这个状态吧?
- Hibernate Query 的 list 和iterate方法缓存的区别
- hibernate get方法有执行sql但是后台拿不到_「6」进大厂必须掌握的面试题-Hibernate...
- (HDU)1061 --Rightmost Digit( 最右边的数字)
- HDU 1800 贪心
- 1.简述计算机硬盘如何保养,电脑硬盘的保养知识
- spring boot 教程(五)使用JdbcTemplate访问数据库
- 斐波那契字符串_KMP
- (day06 dfs+剪枝)剑指 Offer 12. 矩阵中的路径
- 基础03 JVM到底在哪里?
- 第八界中国云计算大会---简单回忆
- 学习历程(一)第一个微信打卡器
- 无源滤波器讲解和典型DCDC稳压芯片外围电路的设计
- 软件系统分析设计过程方法精要
热门文章
- 关抢占 自旋锁_也说自旋锁
- [python]的functools.partial(偏函数)
- 暴多的教学视频,想要的就快下!
- 合规性对区块链项目的重要性
- 有机晶体数据库_福利干货 | 对晶体学数据库来个大盘点吧!
- 全国各省份名义GDP、实际GDP、GDP平减指数(以2008年为基期,2008-2018年)
- linux 计算百分比,计算百分比的分析函数
- 苹果开发者账号和证书那些事
- 可配置组件库Fusion Design 了解一下
- 美创科技入选第九届CNCERT网络安全应急服务支撑单位