• python爬取千千音乐


    昨天刚写完某狗音乐的爬取,然而我的野心绝不止于在此,所以今天我又搞了某千音乐,某千音乐总体来说是比某狗音乐难一点,有一个加密的签名sign,但是也难逃我的法眼,奥利给

    我是按照歌手为分类爬取的,正常思路是 **歌手信息-->歌单信息-->每一首歌的信息-->歌曲的真实播放地址**
    但是我今天的思路是不正常的,但是我感觉挺正常的(哈哈哈)我的思路 **歌曲真实播放地址-->每首歌的信息-->歌单信息-->歌手信息**,
    其实我这个思路对于音乐网站来说是正确的 ,也是我爬了这么多(某易云,某q,酷我,酷狗 等等)网站得出来的,具体原因看我下面的分析就知道了

    1.爬取的音乐


    某个歌手的热门单曲

    2. 我们来找一些单首歌的真实地址


    点击播放全部就会跳到下面这个页面,按照我截图上面的提示操作


    复制链接在浏览器中打开


    到这里我们就找到歌曲的真实地址了,第一步基本完成
    3. 歌曲的地址 一般都是别的请求返回来的,我们查找是哪个地址返回的,并查看请求参数
    **通过全剧搜索很轻松就能找到**


    接下来我们我们看一下请求参数

     


    我们发现有四个参数,分别是sign,appid,TSID,timestamp我们一一分析
    sign:经常爬虫的人肯定知道 签名认证,一般是js加密的
    appid:不会发生改变,是千千音乐的标识 **不用管**
    TSID:这还有一个id,仔细想一下这肯定就是歌曲的id了 也是需要获取的
    timestamp:时间戳
    4. 首先破解sign参数
    **找到js文件,搜索sign**

    通过打断点查看sign生成需要的参数

    可以看到sign是一些参数(看我截图)传入一个函数然后返回的。我们继续查找这个函数,打断点检查,


    到这应该就明白了了吧,截图上面也很清楚了,到这sign参数成功解密
    5. 现在找歌曲id


    歌曲id我们也有了,到这里某位歌手的所有热门单曲我们就都可以爬下来了,但是我们只爬一个人的吗,当然不,我全要,所以接下来我要获取所有的歌手id

    6. 获取歌手id


    可以看到分了很多页,我们只获取1页的数据,别的页只是在地址改一下页数就可以

    刚开始我以为会在网页的标签里面,找个一会发现竟然没有,这时候就体现出脑袋聪明的好处了
    (#^.^#)
    我们在网页源码里搜索一个歌手的名字就可以了


    通过正则匹配出来就行了,

    到这就接近尾声了,感觉文章对你有帮助的小伙伴记得点个关注哦,代码就不公布了,也挺简单的,想要源码可以私聊我

    目前正在学习Python中,如果有什么不对的地方 希望广大朋友,指出错误指出,深表感谢
  • 相关阅读:
    CF384 div2 E. Vladik and cards
    学习Opencv Chat3
    Octave 命令积累
    Python学习-31.Python中集合的一些操作
    Python学习-30.Python中的元组(tuple)
    Python学习-29.Python中列表的一些操作
    Python学习-28.Python中的列表切片
    Python学习-27.Python中的列表(list)
    Python学习-26.Python中的三角函数
    Python学习-25.Python中的分数
  • 原文地址:https://www.cnblogs.com/shiguanggege/p/15079971.html
Copyright © 2020-2023  润新知