【Python爬虫】某芯城的JS逆向与爬虫接口分析

此案例中,通过某汉芯城的例子作为学习,如有侵权可联系作者进行删文。

前言

打开某芯城官网,并进入到搜索页。在这里插入图片描述
通过随便搜索一个型号,获取列表页的信息
在这里插入图片描述
打开开发者调试,观察列表页是如何加载的。通过观察发现,列表页是通过ajax进行动态加载的,并找到了请求的源头。
在这里插入图片描述
而且并发现参数好像被加密。
在这里插入图片描述

定位JS代码(混淆)

通过全局搜索’v’看是否有线索。果然貌似发现了一个疑似地方。而且参数s好像也在里面,只不过代码好像被混淆了。
在这里插入图片描述
没关系,通过一步一步调试,找到翻译混淆字符串的翻译函数,终于得出了一个获得参数t和s的JS代码,至于参数v,那个只是一个时间戳。
而另外一个参数font_ident,参数在静态页面中。测试下代码,看是否能生成符合要求的参数
在这里插入图片描述
参数生成,并请求成功。
但是这时候另一个问题出现了。通过查看返回的内容可以发现,貌似遇上了字体反爬。。。
在这里插入图片描述

KNN(字体反爬)

没关系~我们有KNN,具体可参考之前写的博文【机器学习】KNN算法及其用KNN解决字体反爬 在此处用KNN经过实验测试,发现可以达到100%的准确率。其中关键点在于相对坐标的转换。因为返回的woff文件中,每次同一个字所处于的坐标是不一样的,这时候就可以借助总坐标的最小值(x, y),来归一化坐标,使得坐标总是从(0, 0)开始计算的,这就可以用于KNN进行分类了。
最后来试下解析数据并打印一下,对比网站显示内容与打印内容是否一致。
在这里插入图片描述
解析成功!

此案例简单记录下学习的过程,重点不在于分享详细技术点。等到该网的技术更新换代后,会详细的对技术进行介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值