一、问题描述:

本次爬取的对象是QQmusic,为自己后面做django音乐网站的开发获取一些资源(包括一些VIP的歌曲)。

二、问题分析:

由于QQmusic和网易音乐的方式差不多,都是讲歌曲信息放入到播放界面播放,在其他界面没有media的资源,喜马拉雅的则不是这样的,可以参考我爬取喜马拉雅的blog与代码:https://www.cnblogs.com/future-dream/p/10347354.html。

1.由于上述原因,我们需要对网页进行分析:

获取歌曲菜单的id——>歌曲的所有id信息——>播放网站URL的构建,我们所有的一切都是为播放网站参数需要而努力,得到了对应的参数剩下的就很简单。

(1)歌曲菜单界面

(2)歌曲id信息

(3)播放网站的解析

三、实施步骤:

爬虫基本的思路都是倒序根据需要的信息一步一步往上推

1.播放界面的请求参数

(1)一个播放界面

(2)另一个播放界面

通过观察我们可以看到,只有vkey参数不一样,而我们的目的也是得到这个vkey参数,这样可以完成对歌曲内容的获取。

2.查看vkey所在的文件

(1)由于我们是在播放界面点出来的因此需要回到播放界面去查找信息,可以通过对id进行查询,可以看到如图灰色的响应,包含了所有关于歌曲信息的url信息。

(2)查看参数可以知道我们需要的参数,注意:第一个参数是可有可无的,因此就省去这个参数。

(3)对比参数,查看变量参数,可以看到只有songmid不一样因此在解析的时候只需要songmid需要改变。

3.获取songmid

(1)我们根据响应可以知道我们是通过歌单的信息获取歌曲的列表,在通过歌曲的列表获取歌曲的songmid。

(2)通过获取的song_list获取到songmid

(3)查看请求头的信息,观察变化的参数

1.一个请求头的信息

2.另一个请求头的信息

通过请求头都分析我们只需要改变disstid的参数就可以获取到所有的歌曲信息。

4.获取disstid的信息

(1)首先查看disstid在那个文件中

(2)查看请求头,其中rnd的信息可以不要为空就可以了。

(3)获取disstid

通过倒推的方法,可以成功解析歌曲的信息,剩下的就是代码实现。

四、成果展示与总结:

1.展示

2.总结

一步步分析,在解析vkey的时候第一个很奇怪的参数就可以省略,在进行爬虫爬取的时候也要注意这些问题,有时候的参数是可以省略的,因此在构造请求信息的时候就可以省略

参数的信息,由于QQmusic采取的都是json格式的文件,所以在解析的时候比较简单,也很快速,这也是结构化数据的信息的特点。

五、源码:

java如何爬取qq音乐_爬取QQ音乐相关推荐

  1. java爬取彩票数据_爬取彩票信息(有空试下)

    暂且不说,彩票预测是否靠谱?彩票预测也分人而异,江湖上骗术很多,有些甚至会误以为彩票预测的准确度可以很高,这些操盘手法,让不知原理的彩民心甘情愿地掏钱买料. 在彩票预测上,也有正儿八经去研究" ...

  2. python爬取文献代码_爬取Pubmed文献及影响因子并尝试下载的脚本

    Abstract 本脚本实现了通过Biopython爬取pubmed文献资料,并通过scholarscope爬取影响因子数据,最后尝试通过sci-hub下载文献,三位一体的方法. Introducti ...

  3. java音乐_用JavaJFugue进行音乐编程

    JFugue是一个用于音乐作曲的Java API.和其它的音乐API不同,它能够让您用数据字符串来指定音符.乐器.和弦,以及其它音乐数据,而不需要进行底层的MIDI操控.它和其它快速应用程序开发环境类 ...

  4. 计算机考试qq用户找回密码,找回QQ密码_详细讲述QQ密码找回教程方法【图文】-太平洋电脑网PConline-太平洋电脑网...

    QQ号码对于现在大多数人来说就如我们的手机号码一样重要,而QQ密码是QQ的重要保障.QQ密码忘记后,找回QQ密码就必不可少,那么QQ密码怎么找回?怎么快速找回呢?下面我就分享下QQ密码找回的几种高几率 ...

  5. 苹果邮件怎么添加qq邮箱_科技资讯:QQ邮箱格式怎么填写

    最近关于QQ邮箱格式怎么填写在网上的热度是非常高的,很多网友们也都是非常关注QQ邮箱格式怎么填写这个事情,为此小编也是在网上进行了一番搜索查阅相关的信息,那么如果说有感兴趣的网友们想知道具体的情况的话 ...

  6. python爬取网易云音乐_爬取网易云音乐评论(一)——用python执行JS脚本

    抓包分析 可以发现网页是post请求,表单数据有两个参数params和encSecKey,应该是经过js加密所得 因此在 Initiator 栏里找到对应的js,也就是core...js,点击打开查看 ...

  7. python xpath爬取新闻标题_爬取知乎热榜标题和连接 (python,requests,xpath)

    用python爬取知乎的热榜,获取标题和链接. 环境和方法:ubantu16.04.python3.requests.xpath 1.用浏览器打开知乎,并登录 2.获取cookie和User-Agen ...

  8. python爬取文章保存_爬取博主所有文章并保存到本地(.txt版)--python3.6

    闲话: 一位前辈告诉我大学期间要好好维护自己的博客,在博客园发布很好,但是自己最好也保留一个备份. 正好最近在学习python,刚刚从py2转到py3,还有点不是很习惯,正想着多练习,于是萌生了这个想 ...

  9. python爬取flash数据_爬取flash数据

    关于html爬取数据的文章已经有很多了,我今天主要和大家交流的是如何爬取flash网页的数据.这方面资料相对比较少,主要是html5兴起后现在flash站很少了,不过用于技术研究还是可以尝试一下,这篇 ...

  10. python爬虫爬取今日头条_爬取今日头条头条号文章数据

    0,背景介绍 最近想爬取一些今日头条的文章浏览数据,分析哪些头条号做的好,那些做的不好. 今日头条 比如上图的阅读数,评论数以及文章标题,通过这些数据进行分析. 于是展开了艰难的爬虫探索之旅 第一目标 ...

最新文章

  1. 聚集索引与非聚集索引的总结
  2. Android Intent 大全[转载]
  3. 组织机构代码证号码校验
  4. Spring中Bean的配置方式之通过全类名(反射)
  5. java dog类型_java泛型中?和T有什么区别?
  6. iBatis 到 MyBatis区别
  7. Android之SharedPreferences 存储复杂对象
  8. memset 结构体内指针_数据结构之线性表应用——内存管理
  9. centos6.3配置 kickstart   无人值守安装centos6.3系统 httpd方式
  10. 深入分析ConcurrentHashMap
  11. wikioi 2315 longge的问题 2012年省队选拔赛山东(欧拉函数应用)
  12. mysql主要的两个索引Innodb和MyIASM。
  13. 算法:回溯九 Plus在数字字符串中加入加号,求所有情况的和
  14. natapp在linux服务器上的使用
  15. 电商项目——初识电商——第一章——上篇
  16. 智能校对的技术原理和实践
  17. 论文阅读:NEURAL MACHINE TRANSLATIONBY JOINTLY LEARNING TO ALIGN AND TRANSLATE
  18. mesos安装--软件源安装
  19. python 生成payload_通过Python实现Payload分离免杀过程详解
  20. jackson学习之五:JsonInclude注解

热门文章

  1. Linux文件属性的777权限
  2. asp net core 微信公众号开发 (一)
  3. FMI飞马网 | 在人工智能时代,如何更好地发挥大数据的价值?
  4. java程序throw异常,Java中处理异常throw和throws
  5. Technorati的后台数据库架构
  6. 计算多边形中心点坐标的方法
  7. python dbf 修改_Python修改DBF文件指定列
  8. 初探开源分布式WPA破解程序moscrack
  9. asa 防火墙拦截了https_思科ASA防火墙下抓包方法
  10. Windows网络重置后wifi功能丢失解决方案