爬虫入门之查找JS入口篇(四)

今天我们继续来介绍如何查找JS的入口。

目标地址:https://www.qimai.cn/rank

目的:爬取该网页上的榜单。

工具:Chrome浏览器 + 油猴插件

可用打XHR断点的方法查找加密位置,但是会非常卡,卡到你怀疑人生。

关于如何查找,请参考这篇文章,https://mp.weixin.qq.com/s/1E_ONUnMwTFozd9-dB70Yw

今天介绍一种比较另类,可以说是投机取巧,碰运气的方法。

请确保 浏览器已安装好 油猴插件,并添加如下脚本:

640?wx_fmt=png

下面开始我们的查找之旅吧。

抓包分析得知,它的榜单在这里:

640?wx_fmt=png

只有 analysis 这一个加密参数,一般情况下,我们会直接全局搜索(ctrl + shift + F) 这个参数,然而什么也搜不到。这种方法行不通。

我们打开 油猴脚本,如图:

640?wx_fmt=png

刷新后,可以看到控制台有很多这样的信息:

640?wx_fmt=png

像上次一样,我们在这里设置一个断点:

640?wx_fmt=png

再次刷新页面,停在这里:

640?wx_fmt=png

再看看堆栈:

640?wx_fmt=png

点进去 m 函数,里面看看:

640?wx_fmt=png

这里的n = 75,只是单个的值,而我们刚才在控制台看到打印了狠多这样的值,应该会有个循环还是什么,所以我们继续看下面的 C 函数:

640?wx_fmt=png

嗯,果然是个 for循环,这时候我们把断点设置在 return 的 位置上:

640?wx_fmt=png

有两个目的:for循环会一直循环多次,不那么容易看到结果,另外一个就是 有可能这里的for循环还没进来,参数就已经生成成功了。

设置好断点后,我们有两个选择:按 F5让浏览器继续往下跑,刷新页面重新加载页面。

这里我选择 刷新页面,害怕错过什么的我,还是重头来过吧,本来调试JS,就是个不断重试的过程。

刷新页面后,停在了这里:

640?wx_fmt=png

说明没有进入for循环,我们再看看堆栈:

640?wx_fmt=png

我们往下点击  gXmS 这个,看看是什么:

640?wx_fmt=png

再分别看看 x,T,H,P是什么:

640?wx_fmt=png

果不其然,我们看到了 analysis,也就是这里的P,再搜索这个函数里哪里有用到P,并分别打上断点:

640?wx_fmt=png

运行后,依次取消之前的两个断点,停在了这里:

640?wx_fmt=png

把 这行我们分别运行下看看:

640?wx_fmt=png

可以看到,好我们之前抓包的api地址很相似了。

再把断点取消,然浏览器跑起来,看看第一个api地址:

https://api.qimai.cn/rank/indexPlus/brand_id/1?analysis=eEcbRABeWx9ZXlRVQDRbTRcbVBNRXlRvWVQfCSQUDVQCAFYHBAQCBgNwG1U%3D&analysis=eEcbRABeWx9ZXlRVQDRbTRcbVBNRXlRvWVQfCSQUDVQCAFYHBAQCBgNwG1U%3D

分别在新开的标签页里面赋值看看:

640?wx_fmt=png

结果显示 不是 -1,说明我们之前计算的字串 是 api地址 的子串,也就是加密的位置就是那里。至此,JS入口已找到。

请读者自行扣出加密的代码验证。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值