【2021-11-29】JS逆向之某某海关企业进出口信用信息公示平台(下)

本文用于学习使用,禁止用于非法活动


前言

上篇已经讲到了返回数据的解密,然后请求接口时,需要获取验证码,这篇就讲讲这个


一、验证码

先来看下验证码吧,跟一般的验证码不一样,这个是动图验证,也就是gif图片

gif图片通俗来说是由多张图片组合而成,然后类似放电影一样,一帧一帧播放出来

在这里插入图片描述


二、获取帧图

获取动图的每一帧图片

frame = Image.open(inGif)
nframes = 0
while frame:
	frame.save('xxx.xxx')
	nframes += 1
    try:
	    frame.seek(nframes)
    except EOFError:
        break
	

可以获取如下帧图,通过观察帧图,可以看出几张图的验证码是比较清晰的

在这里插入图片描述

然后直接调用验证码识别去搞搞看,这里的第一个思路就是逐帧识别进行累加,然后拿出现最多次数的验证码去提交
在这里插入图片描述

能正确识别的图片的帧数有6张,然后多试了几张,发现这个思路是可行的
在这里插入图片描述

那么问题又来了,从前面我们知道了这张动图有25帧,也就是25张图片,一个动图要是别25次
想必识别的速率是有点慢,这里就衍生出了另一个思路,通过调用多次之前的方法,然后记录正确识别的帧数,最后进行汇总,就会得到出现最频繁的那些帧数,我们只要识别这些帧数的图片即可,这样既加快了动图的识别速度,在效率上也不会落后第一个方案


三、总结

我这边也没测试几张图片,总结了这些帧率出现的次数相对比较频繁
在这里插入图片描述

然后看下识别的效果,好像是可以嗷,但是可能存在随机性,所以上述的几个帧率并不是最好的,建议多搞几次,再拿出现次数最多的帧率~
在这里插入图片描述

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
回答: 在你的问题中,你遇到了一个错误,即"Error: Cannot find module 'crypto-js'"。这个错误是因为你的代码中引用了一个名为'crypto-js'的模块,但是系统找不到这个模块。\[3\]为了解决这个问题,你需要确保你已经正确安装了'crypto-js'模块,并且在你的代码中正确引用了它。你可以使用npm来安装'crypto-js'模块,命令如下: ``` npm install crypto-js ``` 安装完成后,你可以在你的代码中使用以下语句来引用'crypto-js'模块: ``` const CryptoJS = require('crypto-js'); ``` 这样就可以解决"Error: Cannot find module 'crypto-js'"的问题了。\[2\]希望这个解答对你有帮助。 #### 引用[.reference_title] - *1* *3* [爬虫 js逆向,调用js 第三方库报错:execjs._exceptions.ProgramError: ReferenceError: crypto-js is not ...](https://blog.csdn.net/weixin_41354919/article/details/116494736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [2020-1-5 爬网页17-js逆向入门(AES加密-对称加密,crypto,分组模式CBC,填充模式)](https://blog.csdn.net/weixin_42555985/article/details/103840701)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿J~

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值