记第一次破解js加密代码
首先,我要爬的是这个网站:http://www.66ip.cn/nm.html,我想做个直接调用网站的接口获取代理的爬虫

这个接口看上去似乎很简单,直接输入需要的代理条件后,点击提取即可
点击提取后就是一个个ip了,
废话不多说,按f12点开,

发现需要两个cookie值,不知道从哪来,删掉cookie后,刷新页面再看看。
同样有这两个cookie,不过是新值,并且出了jquery.js没别的文件了。奇怪了,cookie怎么出来的,不过可以注意到被重定向了。
所以,把f12的net work下的 preserve log 勾选(新手才学到的),这样就可以看到所有的包了

三、
果然找到一个cookie,但是还有一个cookie值呢?查看这个521报文看不到内容,使用postman试试(这里一定要注意,今天被坑了很久,postman是依托于chrome的,chrome出于安全考虑,限制了postman的cookie功能,需要下载插件,点击一下会跳转到谷歌应用商店postman interceptor,然后在postman中打开改插件即可。还有要注意的是,chrome上的cookie,是会被postman使用的,记得删掉。下图的postman interceptor点开了)

四,然后发现果然执行了一段js代码,拿去格式化,简单修改,使用nodejs运行了一下,其实就是一句,document.cookies='***'的代码

五,这个还算好做,分离出来就行,然后发现,诶,每次没cookie的请求都是不同的js代码,干脆就提取出js代码,然后,替换部分js代码, 即可获取_ydclearance
@staticmethod
def get_66ip_cookies(url):
"""
66ip的加密cookie破解
:param self:
:param url:
:return:
"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/68.0.3440.106 Safari/537.36'}
res = requests.get(url, headers=headers)
yd_cookie = res.cookies['yd_cookie']
groups = re.search('<script language="javascript"> window.onload=setTimeout\("(.*?)", 200\); (.*?)</script>',
res.text)
x = groups.group(1)
y = groups.group(2)
y = y.replace('eval("qo=eval;qo(po);");', 'result = /_ydclearance=(.*?);/.exec(po)[1]; return result;')
jsfunc = execjs.compile(y)
_ydclearance = jsfunc.call(x[:2], re.findall('[0-9]+', x)[0])
return yd_cookie, _ydclearance
记第一次破解js加密代码的更多相关文章
- Python爬虫—破解JS加密的Cookie
前言 在GitHub上维护了一个代理池的项目,代理来源是抓取一些免费的代理发布网站.上午有个小哥告诉我说有个代理抓取接口不能用了,返回状态521.抱着帮人解决问题的心态去跑了一遍代码.发现果真是这样. ...
- 爬虫破解js加密(一) 有道词典js加密参数 sign破解
在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...
- Python破解js加密实例(有道在线翻译)
在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签名验证,对传输数据进行加密处理 对于js加密经过加密传输的就是 ...
- python爬虫_从零开始破解js加密(一)
除了一些类似字体反爬之类的奇淫技巧,js加密应该是反爬相当常见的一部分了,这也是一个分水岭,我能解决基本js加密的才能算入阶. 最近正好遇到一个比较简单的js,跟大家分享一下迅雷网盘搜索_838888 ...
- 通过C#调用,实现js加密代码的反混淆,并运行js函数
前一篇我测试了vba调用htmlfile做反混淆,并执行js加密函数的代码.本文换成C#实现. 联系QQ:564955427 C#操作JS函数,可以通过ScriptControl组件,但这个组件只能在 ...
- 破解JS加密:url unicode加密而已
加密所在的地方:http://tool.chinaz.com/Tools/UrlCrypt.aspx?url=www.baidu.com 结果: http://%77%77%77%2E%62%61%6 ...
- 兄弟们,我打算抠100个网站JS加密代码召唤,一个也跑不掉,这次轮到小虎牙
摘要:友情提示:在博客园更新比较慢,有兴趣的关注知识图谱与大数据公众号吧.本次研究虎牙登录密码加密JS代码,难度不大,依然建议各位读者参考文章独自完成,实在抠不出来再参考这里的完整代码:从今天开始种树 ...
- websocket直接绕过JS加密的方式
目录 websocket--hook 服务端--WebSocketServer.js 客户端注入JS代码 python开端口 get_data.py 文件方式 get_user_id.py 文件方式 ...
- 当爬虫遇到js加密
当爬虫遇到js加密 我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种. 破解js加密的方法也有很多种: 1.直接驱动浏览器抓取数据,无视js加密. 2.找到本地加密的js代 ...
随机推荐
- NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败
众所周知,NPOI对xls和xlsx两个版本的excel文档的操作并没有一个统一的支持, 程序若想兼容这两个版本的操作,必须根据excel版本分别去调用HSSF和XSSF这两套操作库, 之前一直不明白 ...
- EF 表联合查询 join
有两张表m_Dept.m_User,联合查询 linq方式.EF方式 private void Add() { List<m_Dept> lst = new List<m_Dept& ...
- c# 读取文件流
1.获取文件路径 2.编写读取路径文件信息 private string ReadFileStream(string filePath) { string st ...
- 关于JSP和HTML
工作中,发现非常多同事不清楚JSP与HTML的生命周期.以至于出现"JavaScript为啥不能调用JSTL标签(或EL表达式)?"的笑话问题. 以下以流程图的方式.简单说明一下过 ...
- poj 2391 Ombrophobic Bovines, 最大流, 拆点, 二分, dinic, isap
poj 2391 Ombrophobic Bovines, 最大流, 拆点, 二分 dinic /* * Author: yew1eb * Created Time: 2014年10月31日 星期五 ...
- WebKit(Blink分支)各组件的创建与逻辑关系
从render_view_impl.cc開始说起. 1. 方法RenderViewImpl::Initialize中有: WebLocalFrame* web_frame = WebLocal ...
- idea lib下有jar包但是仍然报错 找不到类
现象: idea lib下有jar包但是仍然报错 找不到类 但是有个奇怪现象 同样的配置下项目在eclipse中可以正常编译 启动. package com.puhui.car.aspect; imp ...
- Java并发编程(六):Java里实现对象安全发布的四种方式
接上篇,首先要了解什么是对象的发布与逸出? Java里安全发布对象的四种方法1.单例(注意懒汉和饿汉的区别)2.静态属性,注意类里的静态域和静态代码块的顺序有要求3.枚举4.final
- Yii2中对数据库的查询方法如下
User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->w ...
- RCU
RCU(read-copy-update)同步机制.R(Read):读者不需要获得任何锁就可访问RCU保护的临界区:C(Copy):写者在访问临界区时,写者“自己”将先拷贝一个临界区副本,然后对副本进 ...