JS解密入门案例:python有道翻译JS解密
前言
嗨喽!大家好呀,这里是魔王~
课程亮点:
- 系统分析网页结构
- 动态数据抓包演示
- json数据解析
- JS解密
环境介绍:
- python 3.8
- pycharm >>> 需要安装nodejs插件
- Nodejs 解释器 用来运行JS代码的
模块使用:
- requests >>> pip install requests
- execjs >>> pip install pyexecjs
如何安装python第三方模块:
- win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
- 在pycharm中点击Terminal(终端) 输入安装命令
如何配置pycharm里面的python解释器?
- 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
- 点击齿轮, 选择add
- 添加python安装路径
pycharm如何安装插件?
- 选择file(文件) >>> setting(设置) >>> Plugins(插件)
- 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
- 选择相应的插件点击 install(安装) 即可
- 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效
爬虫案例基本流程:
一. 数据来源分析
- 确定采集网站视频, 需要什么数据
- 通过开发者工具进行抓包, 分析我们想要的数据 是那个url地址发送的请求
post 请求 >>> 需要提交data表单数据
分析请求参数变化规律, sign 参数, 每次请求都不一样
第一种方式扣代码:
- 做JS解密, 其实就扣代码 我想要sign参数 是哪里来的, 把那一段代码扣下来
- 运行JS代码, 运行之后, 肯定是会报错的 一般情况 什么什么没有定义, 缺什么补什么
通过python 去调用JS代码内容 从而得到返回数据内容
第二方式直接用python改写JS代码:
二. 代码实现过程: 发送请求, 获取数据, 解析数据, 保存数据
- 发送请求, 对于翻译接口发送请求
- 获取数据, 获取服务器返回数据内容
- 解析数据, 提取我们想要翻译结果
如果想要去做JS解密, 首先就要分析它是那个参数加密的 其次呢 去分析加密参数是通过那个JS代码生成的,怎么生成的 然后就是扣代码
JS逆向里面最简单一个案例…没有之一
代码
代码里网址被我删了好过审核,想要得小伙伴可看评论或私聊我领取~
# 导入数据请求模块
import requests
# 导入格式化输出模块
import pprint
# 导入execjs
import execjs
# 导入md5解密模块
import hashlib # 内置模块
# 导入时间模块
import time# 1647329439.9328077
# 16473294570110
# 16473295059531# m3u8 AES加密
while True:word = input('请输入你想要翻译的内容(输入0即可退出): ')if word == '0':break# f = open('有道.js', encoding='utf-8')# js_code = f.read()# compile_code = execjs.compile(js_code)# json_data = compile_code.call('youdao', word)string = "fanyideskweb" + word + str(int(time.time() * 10000)) + "Ygy_4c=r#e#4EX^NUGUc5"sign = hashlib.md5(string.encode('utf-8')).hexdigest()# print(json_data)url = '' # 确定请求网址# headers 请求头 伪装python代码, 如果你不伪装, 就被识别出来是爬虫程序, 从而得不到数据内容headers = {'Cookie': 'OUTFOX_SEARCH_USER_ID=1092484940@10.169.0.82; OUTFOX_SEARCH_USER_ID_NCOO=1350964471.5510483; JSESSIONID=aaa_jaG1Fa7rPdutNrm_x; ___rl__test__cookies=1647328160933','Host': 'fanyi.youdao.com','Origin': '','Referer': '','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36',}# 表单数据, post请求都是需要提交一个from data 表单数据data = {'i': word,'from': 'AUTO','to': 'AUTO','smartresult': 'dict','client': 'fanyideskweb','salt': int(time.time() * 10000),'sign': sign,'lts': int(time.time() * 1000),'bv': 'c2777327e4e29b7c4728f13e47bde9a5','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_REALTlME',}response = requests.post(url=url, data=data, headers=headers) # <Response [200]> 200 状态码请求成功 响应对象# response.json() 返回json字典数据 键值对取值translateResult = response.json()['translateResult'][0][0]['tgt']# pprint.pprint(response.json())print('翻译的结果: ', translateResult)
视频教程
JS解密入门案例: python有 道翻译JS解密
尾语
好了,我的这篇文章写到这里就结束啦!
有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง
喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!
JS解密入门案例:python有道翻译JS解密相关推荐
- 【爬虫逆向案例】某道翻译js逆向—— sign解密
声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! [爬虫逆向案例]某道翻译js逆向-- sign解密 1.前言 2.步骤 3.源码 4.号外 1.前言 相信各位小伙 ...
- Python爬虫之Js逆向案例(6)-某道翻译
Python爬虫之Js逆向案例(6)-有道翻译 声明:某道翻译加密逆向分析仅用于研究和学习,如有侵权,可联系删除 大家好,距离上次分享js逆向案例已经有一个月了,在这期间每次在快要揭秘出来时.整理文章 ...
- 爬虫:突破有道翻译js加密(最新)
爬虫:突破有道翻译js加密 代码已上传至个人GitHub,可供下载: 突破有道翻译js加密 思路:(python版本3.6) 1.分析post上传form信息,发现存在加密行为 2.查看网页js文件, ...
- 破解有道翻译js加密,纯小白练手
有道翻译js解析 第一次在csdn上发技术贴,以前都是在印象笔记,主要是最近闲的,太无聊了. 作为开始,想找一个超级简单的,然后循序渐进(比较有仪式感). 想起来当初学爬虫的时候,看韦世东的<P ...
- python爬虫——有道翻译JS解密
爬虫兴起的同时,反爬虫手段也在不断更新,今天以有道翻译http://fanyi.youdao.com/为例,介绍破解JavaScript加密的反爬虫基本流程. 分析网页 我们进入网站,随便输入一个内容 ...
- 爬虫案例之网易有道翻译JS代码复杂版
网易有道翻译逆向案例 本次案例逆向的是网易有道云翻译 https://fanyi.youdao.com/index.html#/ 用到的知识包括 requests 模块及方法 md5加密 js代码环境 ...
- python爬虫 google翻译 js加解密
前期准备 pip3 install PyExecJS requests PyExecJS用于执行js代码 requests用于发起网络请求 2.核心代码,可直接复制粘贴(引用代码在后面) import ...
- python有道翻译接口-Python调用有道翻译api实现翻译
通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...
- python有道翻译-使用python2爬取有道翻译
爬虫的核心思想:模拟浏览器正常访问服务器,一般情况只要浏览器能访问的,都可以爬,如果被反爬,则考虑反复测试添加Request Header数据,知道可以爬取为止. 反爬思路目前知道的有:User-Ag ...
最新文章
- 编程语言哪家强?4种数据分析领域语言优缺点对比
- 面试题编程题06-python 输入一个字符串,反转输出
- Python-文件和数据格式化
- Hessian使用记录
- StrutsPreparedAndExcuteFilter与Interceptor
- Django10:Ajax介绍/发送数据/SweetAlert
- ORM系列之Entity FrameWork详解
- Python中变量判断
- Javascript 中的非空判断 undefined,null, NaN的区别
- Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- 如何找到适合结婚的女朋友
- matlab 类型转换(类型判断)
- python生活中的小问题_python日常注意小知识集锦
- idea插件开发入门
- 抽象类(abstract)
- win7请不要关闭计算机 正在安装更新,WIN7旗舰版系统总是提示自动安装更新关闭方法...
- int 和 Integer 有什么区别
- iOS系统各版本占比/占有率
- 程序员工作中沟通能力重要吗
- 金融业运维体系指南-嘉为蓝鲸