来来来,有兴趣的可以看看

一 进入酷我音乐官网

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爬取(酷我)相关推荐

  1. python爬取股票大单历史记录_python爬取股票实时数据,python爬虫与股票分析

    内容导航: Q1:怎么学python爬取财经信息 本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表 ...

  2. 学python能赚什么外卖-python爬取外卖

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! time.sleep(1)d:pythonvenvscriptspython.ex ...

  3. 用Python爬取好奇心日报

    用Python爬取好奇心日报 本项目最后更新于2018-7-24,可能会因为没有更新而失效.如已失效或需要修正,请联系我! 本项目已授权微信公众号"菜鸟学Python"发表文章 爬 ...

  4. python爬取b站评论_python高效之爬了B站再爬微博

    全文简介 本文是用Python爬取微博移动端的数据.可以看一下Robots协议.另外尽量不要爬取太快.如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严厉.所以,不要难为别人,到最后其实是在难 ...

  5. 看看你爱的他今天是什么‘颜色‘ -- Python爬取微博评论制作专属偶像词云

    简介:快来拿出你珍藏的pick star,用大家对他的爱重塑一个他吧.通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的哦! 很多人学习python,不知道从何学起. 很多人学习python,掌 ...

  6. steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息

    前言 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我给大 ...

  7. python爬取网页版QQ空间,生成词云图、柱状图、折线图(附源码)

    python爬取网页版QQ空间,生成词云图.柱状图.折线图 最近python课程学完了,琢磨着用python点什么东西,经过一番搜索,盯上了QQ空间,拿走不谢,欢迎点赞收藏,记得github给个sta ...

  8. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  9. Python 爬取 B 站 5000 条视频,揭秘为何千万人为它流泪!

    [CSDN 编者按]<哪吒>看哭了无数人!编者看的那场,有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑.到了哪吒成魔要杀父亲.跪别父母.因为宿命不得以和敖丙为敌时,影院里突然安静下 ...

最新文章

  1. 15篇「ICCV2021 Oral」最新论文抢先看!看当下计算机视觉在研究什么?
  2. 7种不同的使用AI聊天机器人的方式
  3. mysql时间相减得到毫秒值_Mysql 字符串、时间、时间戳相互转换,相减获取秒数...
  4. SolidWorks学习笔记4特征
  5. hdu 5023 poj 2777(线段染色)2014 ACM/ICPC Asia Regional 广州 Online
  6. SAP Spartacus B2B Org Unit List节点展开的递归逻辑实现
  7. 相信应该有百分九十的男生看见这个东西是这个状态吧?
  8. Hibernate Query 的 list 和iterate方法缓存的区别
  9. hibernate get方法有执行sql但是后台拿不到_「6」进大厂必须掌握的面试题-Hibernate...
  10. (HDU)1061 --Rightmost Digit( 最右边的数字)
  11. HDU 1800 贪心
  12. 1.简述计算机硬盘如何保养,电脑硬盘的保养知识
  13. spring boot 教程(五)使用JdbcTemplate访问数据库
  14. 斐波那契字符串_KMP
  15. (day06 dfs+剪枝)剑指 Offer 12. 矩阵中的路径
  16. 基础03 JVM到底在哪里?
  17. 第八界中国云计算大会---简单回忆
  18. 学习历程(一)第一个微信打卡器
  19. 无源滤波器讲解和典型DCDC稳压芯片外围电路的设计
  20. 软件系统分析设计过程方法精要

热门文章

  1. 关抢占 自旋锁_也说自旋锁
  2. [python]的functools.partial(偏函数)
  3. 暴多的教学视频,想要的就快下!
  4. 合规性对区块链项目的重要性
  5. 有机晶体数据库_福利干货 | 对晶体学数据库来个大盘点吧!
  6. 全国各省份名义GDP、实际GDP、GDP平减指数(以2008年为基期,2008-2018年)
  7. linux 计算百分比,计算百分比的分析函数
  8. 苹果开发者账号和证书那些事
  9. 可配置组件库Fusion Design 了解一下
  10. 美创科技入选第九届CNCERT网络安全应急服务支撑单位