网络爬虫摘文-Chrome分析网站-2·4-分析QQ音乐

现在以QQ音乐周杰伦页面为例学习如何使用Chrome开发者工具分析网站。
在这里插入图片描述
在图中可以看出来,在Network标签下捕捉到很多请求信息,请求类型有document、png、font和script等,分别对应HTML文件、图片、字体格式和JavaScript脚本。

单击"Filters"下的Doc标签(Doc是当前网页的HTML文件),发现有两个请求信息,分别是:
在这里插入图片描述
从请求的命名上来看,第一个请求与网站的URL是一致的。再来看它的响应内容(preview标签):
在这里插入图片描述
可以使用“Ctrl+F”快速查找歌曲信息。

`
·
·
·
在Doc中虽然能找到歌曲名、专辑名和时长,但是无法找到更多的歌曲信息。歌曲信息有可能是由其他信息产生的,网站数据生成只有前端(Ajax或JSONP)和后端(服务器)两种方式。从图中的返回结果来看,数据不可能从后端生成的,那么就可能是由前端加载生成的。

JSONP(JSON With Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问问题。

前端加载的数据有可能记录在Chrome开发者工具的“XHR”或“JS”中,分贝查看两个标签里面的请求信息,最终发现歌曲(MV)信息存放在JS下的某个请求中,如下图(MV响应内容):
响应内容
请求信息:
在这里插入图片描述

从上图中分析可知,请求方式是GET,Query String Parameters是记录该请求的参数。因为请求方式是GET,所以请求参数也可以在请求链接上找到。
再看请求参数,大部分请求参数是可以明确知道的,唯独参数singermid无法确定。从参数的命名上来看,这应该是歌手的ID信息,也是网站用于标记歌手唯一的属性,所以要获取歌手的singermid可能需要从其他请求上获取。

根据上述例子,可以简单总结出分析网站(找到数据来源-确定数据生成的具体方法)的步骤如下:

  1. 找到数据来源,大部分数据来源于Doc、XHR和JS标签
  2. 找到数据所在的请求,分析其请求链接、请求方式和请求参数
  3. 查找并确定请求参数的来源。有时候某些请求参数是通过另外的请求生成的,比如请求A的参数id是通过请求B所生成的,那么要获取请求A的数据,就要先获取请求B的数据作为A的请求参数

·文章摘选自《实战Python网络爬虫》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值