【1.项目目标】获取QQ音乐中指定歌手单曲排行榜中指定页数歌曲的歌名、专辑名、播放链接。由浅入深,层层递进,非常适合刚入门的同学。[2。需要的库】主要涉及到的库有:requests、json、openpyxl【3.项目实施】1、了解QQ音乐网站robots协议只禁止播放列表,可以操作。2、进入QQ音乐首页https://y.qq.com/3。随便一个歌手进,比如邓紫棋![]()4。打开审核元素(快捷键Ctrl+Shift+I)5.分析网页源码Elements,发现没有歌曲信息,无法使用BeautifulSoup,如下图,结果为空.6、点击Network,看数据是否在XHR(无刷新更新页面),我的经验是先看最大的Size,再分析Name,查看Preview,就在里面!7.点击Headers获取相关参数。如下图,仔细观察url和QueryStringParameters的关系,发现url中w代表歌手名字,p代表页数。8、通过json代码实现,首先尝试一个小技巧,爬取第一页的数据,直接复制url。成功!9、引入params参数,实现指定歌手和指定页数的查询。注意代码url是“?”之前的部分上一步的url中,params两边的参数需要加'',requests.get加params,参数(也可以顺便加headers参数)加存储功能,保存到本地(Excel)。也可以保存为csv格式或存入数据库,操作类似。![]()[4.总结】1、爬QQ音乐比爬豆瓣等网站难度略高。网页源码中没有所需信息,需要检查XHR;2.一般使用json通过XHR爬取数据,格式为For:***res=requests.get(url)json=res.json()list=json''...3.仅用于动手参考,不建议爬取过多的数据,会增加服务器的负载;4.Python爬取QQ音乐数据(二)将展示如何爬取指定歌曲的歌词和评论(selenium),并生成词云(wordcloud),敬请期待。5、如需本文源码,请在公众号后台回复“QQ音乐”获取。看完这篇文章你有收获吗?请转发分享给更多的人加入IT分享之家群,请在微信后台回复【进群】如果想深入了解Python网络爬虫和数据挖掘,可以上专业网站:http://pdcfighting.com/
