python爬虫--破解js加密:kankan登录破解
这一系列文章旨在解决python 爬虫过程中遇到的各种反爬,从简单到复制,是个进阶的过程。如果对你有帮助,欢迎关注。
今天要破解的网站是天天看看(http://www.kankan.com/)的登录,其中涉及post环节的data加密,以及cookies查找。可以看到post表单中包含8个参数,p,n,verifycode,这3个是变化的。
搜索参数verifycode,可以定位到生成参数的js文件。
打断点后发现,r就是表单中的p,q就是表单中的n,z就是把表单中的verifycode转化成大写,e.password就是我们的原始密码,
l = 'AQAB' ,通过查找并未发现q和z的生成位置,通过在网页中查找,发现表单中的q和verifycode 都是从一个url(https://ilogin.kankan.com/check/?u=18811112222&v=100)返回的set_cookies中:
所以这两个值我们可以通过这个url来获得。
下面创建一个js文件,把我们找到的关键js放进去,构造一个函数,方便我们调用。
这时明显我们缺少了hex2b64这个函数,鼠标放上去后定位到这个函数在rsa.js文件中,一看名字就知道,这个加密用到的文件中的内容,全部复制到我们的js文件中。
最后,我们还缺少了md5函数,查找md5,发现是在md5.js文件中,同样复制到我们的js文件中来。
点击运行js文件后提示缺少window和navigator,构造下就行:
var navigator = navigator||{};
var window = window||{};
到目前为止,我们的js加密环节就算破解完成了,只需要传入q,z,pwd 三个参数就可以获取到最后加密后的r。
而通过url()可以轻松获得q和z,同时获取到cookies,这个cookies需要传到登录环节中,才能完成登录,建议使用session请求,就不用处理cookies问题了。
最后完善下py脚本就可以了。其中调用js的脚本如下:
def get_p(check_n,verifycode,password):with open('kankan.js', 'r', encoding='UTF-8') as f:js2 = f.read()ctx2 = execjs.compile(js2)p = ctx2.call("getpwd",check_n,verifycode,password)print(p)return p
完整脚本:可以点击查看GitHub。
如果对你有所帮助,欢迎点个star支持。
python爬虫--破解js加密:kankan登录破解相关推荐
- 当Python爬虫遇到JS加密
我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种. 破解js加密的方法也有很多种: 1.直接驱动浏览器抓取数据,无视js加密. 2.找到本地加密的js代码,使用python ...
- Python爬虫之js加密破解,抓取网易云音乐评论生成词云
js破解历程 前言 技能点 界面概况 静态网页动态网页 页面解析 step1: 找参数step2:分析js函数step3:分析参数step4: 校验step5:转为python代码 编写爬虫 很多人学 ...
- python爬虫遇到js加密,python爬虫遇到JS加密,pyv8运行js,详细解密过程
首先说一下什么是加密,所谓js加密大多出现在表单提交过程中,下面我将以中国电信为例,详细讲解如何利用pyv8来加密登录的密码.要说明的是pyv8目前仅仅支持python2,用的下伙伴要注意自己的pyt ...
- python爬虫遇到js加密_当爬虫遇到js加密
目标网站:http://tool.liumingye.cn/music/?type=qq&name=%E4%BD%A0%E5%A5%BD(测试) 在谷歌浏览器输入该网址之后,打开F12开发者工 ...
- Python爬虫:js加密实例-有道翻译
此项目,参考别人的教程,自己摸索了一下,将结果展示出来,以供后人参考 实现功能: 通过requests请求有道翻译的接口,返回翻译结果,并封装成函数使用 有道翻译地址:http://fanyi.you ...
- Python爬虫:爬取instagram,破解js加密参数
Python爬虫:爬取instagram,破解js加密参数 instagram 是国外非常流行的一款社交网站,类似的还有像facebook.twitter,这些社交网站对于掌握时事热点.电商数据来源和 ...
- 网易云音乐python爬虫(Js破解)
网易云音乐下载python爬虫(Js破解) 最近做了一个网易云音乐下载的python爬虫,功能就是输入歌曲的名字,程序自动下载网易音乐搜索界面的第一首歌(一般都是原唱排第一位).本文很适合小白学习,写 ...
- 爬虫破解js加密破解(二) 有道词典js加密参数 sign破解
在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...
- 破解js加密反爬综述
破解js加密反爬综述 微信公众号:在敲代码啦 闲谈 上周发懒,没有更贴.结果一个小伙伴居然私我希望我周更帖,这个消息对我来说是莫大的鼓励.总是胡说八道的我居然得到了小伙伴的认可,这足以让我嘚瑟一整子. ...
最新文章
- 继续昨日计划: 2022-2-16
- kali Linux metasploit进入msfgui
- 在android上面让TextView 过多的文字实现有滚动条 scrollview
- xml解析:Sax,Dom,pull解析
- 2013\Province_Java_C\1.猜年龄
- python找零钱代码_Python实现的一个找零钱的小程序代码分享
- 编译安装mysql5.6.36_MySQL5.6.36编译安装
- linux监控mysql性能,MySQL 性能监控4大指标——第二部分
- 如何建立个人博客网站
- 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践 1
- Python基础(19)_异常处理
- 骨骼动画编辑器Spine的纹理打包器(texture packer)
- 盒仔机器人_DFROBOT SEN0240 肌电传感器 OYMotion 产品资料 使用教程
- 内存颗粒与内存体质的关系
- drupal php 版本,纯PHP drupal主题
- Microsoft visual studio关闭安全检查的几种方法(2015/2017)
- 浙江工业大学 计算机学院,刘端阳-浙江工业大学计算机学院.DOC
- 计算机管理 存储空间不足,win10系统提示“存储空间不足无法处理此命令”的处理技巧...
- php关键词回复源码,PHP对接公众号搜索自动回复源码
- Response to preflight request doesn‘t pass access control check: It does not have HTTP ok status.