JS解密入门案例:python有道JS解密,做一个简单的翻译程序

news2024/11/24 21:06:04

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

目录标题

      • 前言
      • 本次使用知识点:
      • 开发环境:
      • 模块使用:
      • 思路流程:
      • 代码展示
      • 尾语 💝

本次使用知识点:

  1. 系统分析网页结构

  2. 动态数据抓包演示

  3. json数据解析

  4. JS解密

开发环境:

  • Python 3.8

  • Pycharm

  • Nodejs

模块使用:

  • requests >>> 主要用来发 送 HTTP 请求,属于内置,无需安装

  • execjs >>> 用来调用 js 的,第三方模块 需要安装

  • pprint >>> 用来格式化输出的模块,属于内置,无需安装

第三方模块安装:

win + R 输入cmd 输入安装命令 或 在pycharm中点击Terminal(终端) 输入安装命令

如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:

pip install -i https://pypi.doubanio.com/simple/ requests

思路流程:

  1. 确定目标需求: 用python代码做一个简单的翻译程序

    当我们输入一个汉字/词 它给我们返回相对应的英文内容

    请求 http://fanyi.**/translate_o?smartresult=dict&smartresult=rule

    它会给我们返回一个json数据 这个json数据里面包含了翻译结果

    post 请求 需要我们提交一个data参数 才能获取数据

代码展示

import requests
import execjs 
import pprint
# 用python代码调用JS代码

while True:
    word = input('请输入你要翻译的内容(输入0即退出): ')
    if word == '0':
        break
    with open('有道翻译.js', mode='r', encoding='utf-8') as f:
        js_code = f.read()

    js_data = execjs.compile(js_code)
    # 调用JS函数
    sign = js_data.call('youdao', word)
    url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    headers = {
        'Cookie': 'OUTFOX_SEARCH_USER_ID=-549589964@10.169.0.84; OUTFOX_SEARCH_USER_ID_NCOO=1098831190.3128111; JSESSIONID=aaaZq8sPFNGe-8DrHMZHx; ___rl__test__cookies=1616847597740',
        'Host': 'fanyi.youdao.com',
        'Origin': 'http://fanyi.youdao.com',
        'Referer': 'http://fanyi.youdao.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
    }
    源码/解答/教程+V:pytho8987
    data = {
        'i': word,
        'from': 'AUTO',
        'to': 'AUTO',
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': sign['salt'],
        'sign': sign['sign'],
        'lts': sign['ts'],
        'bv': sign['bv'],
        'doctype': 'json',
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_REALTlME',
    }
    response = requests.post(url=url, data=data, headers=headers)
    # 数据解析 字典取值
    translate_result = response.json()['translateResult'][0][0]['tgt']
    print('翻译的内容结果是: ', translate_result)

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java形参实参的使用

Java形参实参的使用 形参实参的介绍简单例子稍复杂例子String类 compareTo方法 形参实参的介绍 在JAVA中,形参和实参是非常常见的概念。形参是指在方法定义时声明的参数,用于描述方法需要接收的输入数据类型和变量名;而实参是指在方法调用时…

如何安装EasyRecovery14中文版数据恢复软件

好消息!听说数据恢复软件EasyRecovery有了新版本,想必大家在听到这个消息的时候都非常激动,都想看看这个新版本的神秘面纱吧。别着急,下面小编就来教大家使用EasyRecovery14快速恢复数据。 首先我们需要在电脑上下载并安装Ontrac…

​数据库原理及应用上机(实验二 SQL数据定义功能实验)

✨作者:命运之光 ✨专栏:数据库原理及应用上机实验 目录 ✨一、实验目的和要求 ✨二、实验内容与步骤 ✨三、附加练习 ✨四、实验总结 🍓🍓前言: 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善&am…

Docker创建Springboot项目镜像文件

Docker创建Springboot项目镜像文件 本文章展示的是以Windows10系统为例进行操作 一.首先在Windows系统安装WSL(Windows系统的Linux子系统) //该命令能够直接在Windows系统安装wsl wsl --install //如果已经安装则可以进行update wsl --update二.安装Docker Desktop在本机电…

C调用Java代码 图文详解

环境搭建 1. android studio2021.2.1 2. JDK版本1.8 一、创建一个android项目 File ——> New ——> New Project ——> Empty Activity 创建后如下图所示 二、C调用java代码过程 2.1 写java类代码 创建一个java的JNI类,写触发C代码,让C…

有意思的各类算法,思维题目分享

1.统计子矩阵 思路:二维前缀和超时,下面是前缀和加双指针,对列前缀和,两个玄幻控制行号,双指针控制列的移动 考查:前缀和双指针 import os import sys# 请在此输入您的代码 # 矩阵大小 N M n,m,kmap(int,…

某大学信息安全竞赛——shellcode1 绕过strlen检查,绕过沙箱检查,执行orw shellcode拿到flag

题目自取: 链接:https://pan.baidu.com/s/1HrMqh-lX-mkfueVeLzoEJg 提取码:oyel 介绍下这可恶的沙箱机制 这是一道非常让人蛋疼的题目,之前我只听说过沙箱,但是并没有自己实际接触过沙箱这个保护机制,大…

PX4从放弃到精通(二十八):垂起过渡控制

文章目录 前言一、主程序二、update_transition_state()三、update_transition_state() 前言 固件版本:1.14.0 可加名片交流学习 一、主程序 代码位置: 构造函数,用初始化列表进行初始化工作…

图可视分析

G6简介 AntVG6是一个基于WebGL的图形可视化引擎,它提供了一种简单、高效、灵活的方式来创建各种类型的图形,包括流程图、关系图、树形图、桑基图、饼图等等。它的主要思想是将图形分解为节点和边,并使用数据来描述它们之间的关系。 它的特性包…

BMPFont使用教程--免费的位图字体制作工具字体制作(2)

1、下载windows免费的位图字体制作工具Bitmap Font Generator 下载地址:BMFont - AngelCode.com 2、打开软件-> Edit -> Open Image Manager 3、点击Image -> Import Image,选择字符对应的图片,id就填写下面的48,代表0,…

Redis 主从复制 哨兵 集群

哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力收到单机的限制; Cluster集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力收到…

应用现代化中的弹性伸缩

作者:马伟,青云科技容器顾问,云原生爱好者,目前专注于云原生技术,云原生领域技术栈涉及 Kubernetes、KubeSphere、KubeKey 等。 2019 年,我在给很多企业部署虚拟化,介绍虚拟网络和虚拟存储。 2…

智能图像处理技术:开启未来视觉时代

写在前面技术论坛■ 智能文档图像处理技术■ 大模型时代的文档识别与理解■ 篡改文本图像的生成与检测 圆桌讨论未来愿景 写在前面 文档 是人们在日常生活、工作中产生的信息的重要载体,各领域从业者几乎每天都要与金融票据、商业规划、财务报表、会议记录、合同、…

【JAVA程序设计】(C00138)基于Servlet+jsp的药店管理系统

基于Servletjsp的药店管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目是简单的药店管理系统,本系统使用servlet和jsp的技术,本系统有一种权限管理员: 其功能有:管理员管理(增删改查)、…

TypeScript为什么要有对象?怎样创建对象

什么是TypeScript的对象? 生活中,对象是一个具体的事物,比如:你的电脑、你的手机、古力娜扎、周杰伦(周董)等都是对象。 但在程序员的认知中万物皆对象。 这些具体的事物,都有自己的特征和行为: 特征&…

云his门诊业务模块常见问题分析和门诊业务使用流程

一、门诊医生如何查询往期病人 鼠标点击门诊医生站左侧患者列表,在弹出的页面点击已诊分页,在搜索框输入患者姓名,在结果中找到对应患者,点击详情按钮即可查询患者往期就诊信息,点击想要查询的门诊记录前方的方框即可…

[数据结构 -- C语言] 队列(Queue)

目录 1、队列 1.1 队列的概念及结构 2、队列的实现 2.1 接口 3、接口的实现 3.1 初始化队列 3.2 队尾入队列 分析: 3.3 队头出队列 分析: 3.4 获取队列头部元素 3.5 获取队列尾部元素 3.6 获取队列中有效元素个数 3.7 检测队列是否为空 3…

要想抢到演出票,总共分几步?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 小黑 编辑 / SandLiu 卷圈 监制 / 姝琦 文案 / 小黑 产品统筹 / bobo 录音支持 / 声湃轩天津录音间 报复性听歌正席卷多地,一路狂飙的演唱会市场背后,是一票难求、与黄牛斗智斗勇的粉丝们。 是…

GPT专业应用:自动撰写宣传稿

●图片由Lexica 生成,输入:Staff working on product promotion 宣传稿是指按照有关政策文件或相关精神,以宣传某种主张、某项工作、某件事情等为目的,为获得理解、支持而撰写的应用文。基本格式包含四个要素,分别是标…

chatgpt赋能Python-numpy如何下载

如何下载Numpy 对于python编程者,numpy是不可或缺的一个库。它提供了一种操作向量、矩阵、数组的方式,使得我们能够高效地进行数据处理和科学计算,甚至还能进行线性代数运算和傅里叶变换等高级操作。 那么,在这篇文章中&#xf…