这一系列文章旨在解决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登录破解相关推荐

  1. 当Python爬虫遇到JS加密

    我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种. 破解js加密的方法也有很多种: 1.直接驱动浏览器抓取数据,无视js加密. 2.找到本地加密的js代码,使用python ...

  2. Python爬虫之js加密破解,抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页动态网页 页面解析 step1: 找参数step2:分析js函数step3:分析参数step4: 校验step5:转为python代码 编写爬虫 很多人学 ...

  3. python爬虫遇到js加密,python爬虫遇到JS加密,pyv8运行js,详细解密过程

    首先说一下什么是加密,所谓js加密大多出现在表单提交过程中,下面我将以中国电信为例,详细讲解如何利用pyv8来加密登录的密码.要说明的是pyv8目前仅仅支持python2,用的下伙伴要注意自己的pyt ...

  4. python爬虫遇到js加密_当爬虫遇到js加密

    目标网站:http://tool.liumingye.cn/music/?type=qq&name=%E4%BD%A0%E5%A5%BD(测试) 在谷歌浏览器输入该网址之后,打开F12开发者工 ...

  5. Python爬虫:js加密实例-有道翻译

    此项目,参考别人的教程,自己摸索了一下,将结果展示出来,以供后人参考 实现功能: 通过requests请求有道翻译的接口,返回翻译结果,并封装成函数使用 有道翻译地址:http://fanyi.you ...

  6. Python爬虫:爬取instagram,破解js加密参数

    Python爬虫:爬取instagram,破解js加密参数 instagram 是国外非常流行的一款社交网站,类似的还有像facebook.twitter,这些社交网站对于掌握时事热点.电商数据来源和 ...

  7. 网易云音乐python爬虫(Js破解)

    网易云音乐下载python爬虫(Js破解) 最近做了一个网易云音乐下载的python爬虫,功能就是输入歌曲的名字,程序自动下载网易音乐搜索界面的第一首歌(一般都是原唱排第一位).本文很适合小白学习,写 ...

  8. 爬虫破解js加密破解(二) 有道词典js加密参数 sign破解

    在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...

  9. 破解js加密反爬综述

    破解js加密反爬综述 微信公众号:在敲代码啦 闲谈 上周发懒,没有更贴.结果一个小伙伴居然私我希望我周更帖,这个消息对我来说是莫大的鼓励.总是胡说八道的我居然得到了小伙伴的认可,这足以让我嘚瑟一整子. ...

最新文章

  1. 继续昨日计划: 2022-2-16
  2. kali Linux metasploit进入msfgui
  3. 在android上面让TextView 过多的文字实现有滚动条 scrollview
  4. xml解析:Sax,Dom,pull解析
  5. 2013\Province_Java_C\1.猜年龄
  6. python找零钱代码_Python实现的一个找零钱的小程序代码分享
  7. 编译安装mysql5.6.36_MySQL5.6.36编译安装
  8. linux监控mysql性能,MySQL 性能监控4大指标——第二部分
  9. 如何建立个人博客网站
  10. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践 1
  11. Python基础(19)_异常处理
  12. 骨骼动画编辑器Spine的纹理打包器(texture packer)
  13. 盒仔机器人_DFROBOT SEN0240 肌电传感器 OYMotion 产品资料 使用教程
  14. 内存颗粒与内存体质的关系
  15. drupal php 版本,纯PHP drupal主题
  16. Microsoft visual studio关闭安全检查的几种方法(2015/2017)
  17. 浙江工业大学 计算机学院,刘端阳-浙江工业大学计算机学院.DOC
  18. 计算机管理 存储空间不足,win10系统提示“存储空间不足无法处理此命令”的处理技巧...
  19. php关键词回复源码,PHP对接公众号搜索自动回复源码
  20. Response to preflight request doesn‘t pass access control check: It does not have HTTP ok status.

热门文章

  1. 浅说万能头<bits/stdc++.h>
  2. 人工智能导论学习笔记(考前复习)
  3. 使用Java实现Comet风格的Web应用(二)
  4. 流计算框架 Flink 与 Storm 的性能对比
  5. 关于使用讯搜(xunsearch)过程中遇到的坑
  6. 【转载】如果你是ACMer,你会选择哪个职业?(来自shǎ崽)
  7. 运动控制中的速度控制
  8. android 点击按钮来回切换图片
  9. 160cracked-2
  10. Java 8 的发展