某音乐平台热门歌单爬取

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

需求:获取到热门榜单的歌曲,并下载到本地

工具:Python(3.6版本以上), Google浏览器

技术:Python基础,Web基础

想法:通过requests模块请求获取页面,在通过re模块进行正则匹配获取相应数据,从而达到获取页面所有相关src数据。

难点:各大资源网站都会对自家资源相关的数据进行数据加密,从而保证会员用户()的权益,所以在 想法 那一步暂停了脚步。(问题:数据加密)

过程:

第一步:登入网站 某狗飙升榜

第二步:随便点击飙升榜中的任一歌曲,进入到播放页面(打开浏览器中的NetWork)进行抓包,如下图

某音乐平台热门歌单爬取_第1张图片

第三步:可以明确看到请求参数有个Hash值,在该页面链接中也可以看到Hash,所以可以确定了在飙升榜的那个页面中会有Hash存在,为什么呢?(为了减少服务器的压力,会将一些数据在用户第一次请求的时候就会将它写入到页面中,从而减少数据请求),现在可以明确看见页面中的Hash数据,如下图

某音乐平台热门歌单爬取_第2张图片

第四步:回到之前的播放页面,我们对该链接的请求链接更换并附加其他Hash进行模拟请求,获得了想得到的数据(),如下图

4.jpg

第五步:看到MP3数据,就可以如愿以偿地进行代码编写

 

总结:说些题外话爬取网站时,应注意该网站是否有robots.txt规则,爬取应该注意不要破坏网站的稳定性(延时),网站一般会有反爬策略(用户头,Cookie头,部分ref),该篇可以加深初学者对网站爬取知识的巩固,所有前提是知法懂法,切勿做触发法律的事,谢谢你的阅读!

 

PS:觉得有用的,欢迎点赞,成品和源码欢迎关注「 igorguo 」回复 " KG "你懂得

 

你可能感兴趣的:(Python,python,爬虫,web)