之前写了《抓取QQ音乐周杰伦专辑与歌词》这篇文章,其中有些参数,如果不查看其 JS 代码,是无法知道它是怎么来的。说到这里,我们来看看啥是反爬虫?某度如是说:
他们根据ip访问频率,浏览网页速度,账户登录,输入验证码,flash封装,ajax混淆,js加密,图片,css混淆等五花八门的技术,来对反网络爬虫。
这篇文章还不涉及加密,只是查看一些参数的所以然,所以说还是比较基础的,后面再来说说加密。
举个栗子?
那么现在我们就来说说,这些参数是怎么来的。下图是我上一篇文章的一个分析点。例如:jsonpCallback
在开始分析之前,我默认你已经掌握了 JavaScript ,并且达到了一定的程度,否则你是看不懂 JS 代码的。
开始分析
请将你的 Chrome 浏览器打开至如上图效果,即是右键 -- 检查 ,到这一步呢,你是还没有打开图中的红框部分的。这时候,再按一下: Ctrl + Shift + F(Windows)红框部分就出来了,Mac 的快捷键我也不知道,如果你知道,还烦请告诉一下我。
接下来呢,在红框部分的搜索栏中输入:jsonCallback
现在,下面出现了一堆搜索内容。我们需要做的,就是从这些代码中找到我们想要的东西 – 即是 jsonCallback 是怎么来的?有时候,运气好,你在第一条搜索结果中就找到了答案,运气差点,可能就得翻完所有代码。我们双击选择第一条结果。
未格式化的代码可读性是很差的,看了也基本懵逼。现在,在格式化的代码中搜索:jsonCallback
如果没有看到想要的结果,则继续查找下一个,或者下一个代码文件
查找过程我就不一一解说了,最后我们在第一个文件中就能找到我们想要的结果,如下图:
到这一步,结果就出来了,其实就是一些随机数的拼接。
寒假作业
分析下图中,参数 entryIds 是怎么来的?(这个参数要翻页之后,才会出现)