<python爬虫之JS逆向实例-2>某宇创-状态码521-加速乐

2023-10-27

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵犯了您的合法权益,请告知,我将及时更正、删除,谢谢。邮箱地址:lc1139411732@163.com


目标站点:aHR0cHM6Ly93d3cuc2VlYnVnLm9yZy92dWxkYi9zc3ZpZC05MjY2Ng==

        对于加速乐反爬中,该站点属于相对较复杂的了,本文将带你细致完整的分析站点以逆向的方式通过加速乐反爬。

文章目录:

一、项目准备

二、参数分析

三、静态调试

一、项目准备

作者环境:win10,python , node.js

开发工具:PyCharm , WebStorm  

二、站点分析

1.页面分析

        经过浏览器抓包后我们可以看到,前两个数据包都是红色的,状态码均为521,并且响应内容都是空的。第三个开始才返回我们真正想要的数据。返回的状态码为521,在这里对于有经验的爬虫工程师来说已经可以断定就是加速乐反爬了。

2.请求分析

        拿到响应后我们可以看到,内容是一串js代码,执行后结果是一段cookie。这段cookie在我们第二次请求的时候会用到。

         接下来我们携带上cookie发起第二段请求,这次的状态码依然是521,但是响应内容远没有之前那么温柔,是一个几百行的js加密代码并且做了ob混淆,这个案例最主要的难点也在这里,准备好我们要开启头铁的硬撸混淆模式。

 3.本地调试(代码用WebStrom格式化以后看起来就舒服多了)

  

 3.1在代码最底部有一个名字叫go的启动函数,我们执行后报错,缺少window对象。解决方案也很纯粹,就是却缺啥补啥。

 3.2报错缺少UserAgent,在这里我们就可以分析出,这段加密其实是针对我们的浏览器环境进行了检测,补ua继续。

3.3报错缺少document等对象,接下来我们把环境补齐。

3.4新cookie生成完毕

4.带上新成cookie发起请求,返回状态码200,正常显示内容。 

python实现方法

__jsl_clearance_s = ''
go = json.loads(re.findall(r'};go\((.*?)\)</script>', html_2.text)[0])

for i in range(len(go['chars'])):

    for j in range(len(go['chars'])):

        vales = go['bts'][0] + go['chars'][i] + go['chars'][j] + go['bts'][1]

        if go['ha'] == 'md5':

            ha = hashlib.md5(vales.encode()).hexdigest()

        elif go['ha'] == 'sha1':

            ha = hashlib.sha1(vales.encode()).hexdigest()

        elif go['ha'] == 'sha256':

            ha = hashlib.sha256(vales.encode()).hexdigest()

        if ha == go['ct']:

            __jsl_clearance_s = vales

print(__jsl_clearance_s)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

<python爬虫之JS逆向实例-2>某宇创-状态码521-加速乐 的相关文章

随机推荐

  • 7、Java入门教程【面向对象】

    面向对象是Java编程的核心概念 如果不能充分了解面向对象的思想 那么会给你在实际的项目开发过程中 带来很多业务设计上的困扰 一 构造器 我们在设计完一个类 在使用这个类去创建对象实例的时候 有些场景是需要对实例做初始化操作的 那么Java
  • 雅思备考资料整理

    单纯想整理一下自己使用过的素材 梳理一下自己学习到的经验 万一以后还需要考呢 一 听力 何琼听力网课 王陆语料库 王陆建议听写前先过一遍单词 进行同义词整理 听写到后面几章速度很快 写下来很耽误时间也跟不上 我是边听脑子里就同时反应单词怎么
  • java自定义数组_java创建自定义类的数组

    今天在学图论的最小生成树 开始一直在想是用邻接矩阵还是关联矩阵来表示图 但是发现这样都会有好多空间浪费 于是我就自定义一个边的类 里面包含了权值 关联的端点1 端点2 和图的表示字母 发现我想创建11条边 Bian new Bian 11
  • 第6章 K8s基础篇-资源调度

    杜宽老师k8s课程学习记录 6 1 Replication Controller和ReplicaSet Replication Controller 复制控制器 RC 和ReplicaSet 复制集 RS 是两种简单部署Pod的方式 因为在
  • python全栈开发优势条件_Python全栈开发-day01-初识python

    一 Python学习的大致框架 1 linux基础 计算机以及日后我们开发的程序放置的服务器的简单操作 2 Python开发 1 Python基础 2 网络编程 断点续传 一般情况下不需要我们自己开发 3 web框架 用于写网站 4 设计模
  • 等保测评:SQLServer操作超时

    一 说明 本文说的是等级保护1 0中SQLServer数据库操作超时的内容 实际在SQLServer中有很多种超时选项 很容易将其混为一谈 本文将尽力将之说清楚 二 操作超时的意义 操作超时在sqlserver数据库中可能包含好几个意思 2
  • BeagleBone 嵌入式操作

    特点 BeagleBone Black 是一个嵌入式系统 能够运行完整的 GNU Linux 发行版 例如 Debian 或 Ubuntu BeagleBone Black 具有强大的分发功能 并配有易于扩展的嵌入式板卡 是一款允许用户构建
  • JAVA浏览器控件JxBrowser v7.3上线!最新API文档打包带走!

    JxBrowser是将基于Chromium的浏览器与Java应用程序集成 以处理和显示HTML5 CSS3 JavaScript Flash等 近日 JxBrowser v7 3发布上线 支持最新macOS Catalina 支持Java1
  • QT 信号和槽的使用笔记

    目录 信号和槽介绍 回调机制 信号槽机制 信号 槽 信号槽和直接调用效率问题 信号和槽的使用对比 QT5 写法 QT4 写法 总结 信号和槽介绍 信号与插槽机制 提供对象间的通信机制 可以取代原始的回调和消息映射机制 信号与槽是迅速的 类型
  • 计算机网络--基础篇(IP地址,端口号,协议,五元组,封装分用,客户端,服务器)

    目录 一 IP地址 1 IP地址的概念及格式 2 IP地址的编址方法阶段 3 IP地址的分类 二 端口号 1 定义 2 格式 三 协议 三要素 四 五元组 五 发送端和接收端 六 封装分用 七 客户端和服务器 1 服务端 2 客户端 一 I
  • MyBatis查询单表返回List

    本来以为把List
  • python dict 写入 json 文件 编码问题

    esports 0 subject list sign 2 name aa desc 听阿红的 sign 3 name bb desc 成绩啊啊啊 id 1
  • idea 模块名后面有个中括号别名(1)

    步骤 第一步 第二步 为什么不直接改名字 最近项目正在从Springboot改造成SpringCloud微服务架构 所以会涉及到新增模块的情况 这里我直接复制了项目中的一个 模块 并且通过修改文件夹名的方式命名该模块 之后该模块名后面出现了
  • IntelliJ IDEA 2019(Ultimate Edition)激活方法

    IntelliJ IDEA 2019 Ultimate Edition 激活方法 https blog csdn net halen001 article details 81137092
  • 常见算法题整理

    算法题 数据结构 数组 链表 字符串 树 数学 栈 hash表 图 动态规划 中心扩散 回溯算法 递归 迭代 贪心算法 从整体到细节 自顶向下 从抽象到具体的框架思维是通用的 不只是学习数据结构和算法 学习其他任何知识都是高效的 一 数组
  • 树莓派4B安装详细教程,从零开始!(2)

    树莓派4B安装详细教程 从零开始 2 前言 一 准备材料 1 硬件材料 2 软件材料 二 配置步骤 1 获取树莓派IP地址 1 通过有线网进行连接 这时候还需要 一根网线 2 通过无线网进行连接 这时候还需要一个 读卡器 2 连接电脑 3
  • 学习《R语言之书-编程与统计》

    R语言学习笔记1 1 新手入门 1 winows ctrl R 表示执行当前编辑器的代码 多个编辑窗口 编辑器外观设置 preference Edit GUI preferences 2 代码添加注释 gt This is a compen
  • 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs

    http www cnblogs com siwy p 5045556 html 从Java的角度理解前端框架 nodejs reactjs angularjs requirejs seajs 前端神秘的面纱 对后端开发来说 前端是神秘的
  • Chrome,IE等浏览器主页被hao123等篡改的解决方法

    概述 今天自己装了一个破解版的软件 然后我电脑上所有浏览器主页都被篡改了 不管是chrome IE 搜狗全部中招 MD Fuck 忍不了啊 上网搜解决方法 然后一步一步试吧 最后问题解决了 但是在网上找到的答案并不完整 我还算对电脑熟悉 摸
  • <python爬虫之JS逆向实例-2>某宇创-状态码521-加速乐

    声明 本文只作学习研究 禁止用于非法用途 否则后果自负 如有侵犯了您的合法权益 请告知 我将及时更正 删除 谢谢 邮箱地址 lc1139411732 163 com 目标站点 aHR0cHM6Ly93d3cuc2VlYnVnLm9yZy92