热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js逆向_百度翻译

在上一篇爬取有道翻译的基础上来进行本次百度翻译的破解前面步骤不变,就不在赘述了。直接跳到找fromdata里的sign元素前面分析可以知道变的只有sign和to

在上一篇 爬取有道翻译 的基础上来进行本次百度翻译的破解

前面步骤不变,就不在赘述了。

直接跳到找fromdata里的sign元素

前面分析可以知道 变的只有sign和token,token可以直接获取,使用我们重点放在sign
在这里插入图片描述
同样的先全局查找,在逐个分析,然后内部查找,最后逐步分析到上图所示,打断点运行,发现e就是传入的word,把光标放在L上,点击上面提示的f进行跳转
在这里插入图片描述
我们把这个函数体直接复制下来,存储到js文件中`,然后用import execjs库对其进行分析,就可以得到sign的值

import execjs
def getSign(word):with open("baidufanyi.js", "r", encoding='utf8') as f:jscode = f.read()sign = execjs.compile(jscode).call('e', word)return sign

但是我们要把js里的内容补齐,否则会一直报错未定义,还需要一个i和一个函数n,读者可以自己尝试找一下。
在这里插入图片描述
最后附完整代码

import requests
import execjsdef getSign(word):with open("baidufanyi.js", "r", encoding='utf8') as f:jscode = f.read()sign = execjs.compile(jscode).call('e', word)return signdef request(word):url = "https://fanyi.baidu.com/v2transapi?from=en&to=zh"headers = {'Accept': '*/*','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Content-Length': '136','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','COOKIE': 'BIDUPSID=602A11E252B731A9757622309C3F89E5; PSTM=1626349844; BAIDUID=602A11E252B731A9D017D8914C6CF71D:FG=1; __yjs_duid=1_70ff7d08f671b7667da8a108172284571626349912834; REALTIME_TRANS_SWITCH=1; HISTORY_SWITCH=1; FANYI_WORD_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BAIDUID_BFESS=602A11E252B731A9D017D8914C6CF71D:FG=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; delPer=0; PSINO=3; H_PS_PSSID=34644_34067_34549_33848_34600_34584_26350_34627_34420_34469_34691; BA_HECTOR=21ah212l852l808lab1gkd6ij0q; BCLID=7900992051927074863; BDSFRCVID=2PLOJexroG0YyxOHO7bjhKIR3_weG7bTDYLtOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKKLgOTHULF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tR3aQ5rtKRTffjrnhPF3Dl8TXP6-hnjy3bRkX4nvWpAbHRcdyUrCDp4Wbttf5q3RymJJ2-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvX--g3-7PWU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqCDhMC-93D; BCLID_BFESS=7900992051927074863; BDSFRCVID_BFESS=2PLOJexroG0YyxOHO7bjhKIR3_weG7bTDYLtOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKKLgOTHULF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tR3aQ5rtKRTffjrnhPF3Dl8TXP6-hnjy3bRkX4nvWpAbHRcdyUrCDp4Wbttf5q3RymJJ2-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvX--g3-7PWU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqCDhMC-93D; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1631951765,1631951802,1631952172,1632016982; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1632016982; __yjs_st=2_M2I0MjI3ZTEwM2UyZjAwZDJhYjljMDdhNGFiNDhkZTg0OWNmZjZjNDI1ZDAwZmUxZDllNDkyYjczOWE5NzhkYjY0ZmE2NjdhMDkzZGNmMmJlODQ1MjcwOWQwOTBiY2E5YTA0MmZiNGQyYzU1NDgwYTIzZTVkNWZmMjUxNDViZjRiNGU0OWY3MmYwZTUxNmFmODRmMzJhN2JhN2RjNDY2YmU4ZGEyZDA2M2JhZWUzMjRiZThjNzI0NDU4OWRkZDhmYjdhZDdiZWRiMmJiY2IzMmM1NmI0YjBmMjBlNjA5M2E4NjQ4ZGM4ZmU2MDVkMzM0NzMzMjI4YTk4MTBhMmFlNV83XzllYzQwNTlj; ab_sr=1.0.1_NmU4Y2M3NGRiY2U3YWFiZjlkNDNjMjI2YjZkN2YwNTYyNDc2OTEyY2ZkY2FhZTJjMzU4YjVlZjk5NDZmZDMxOWRmZTJkMzM0YmNkNTY1MGI2MWFiMDEzMjRiY2FhNWRlZTFjN2Y2OTg0OTBlMjFhYzBlYmM1MDMzNzBlYmJkMmFmYzNhZjVhOGM4YmE2ODdjN2U4NmQ5MjE5Y2NiM2E4ZQ==','Host': 'fanyi.baidu.com','Origin': 'https://fanyi.baidu.com','Referer': 'https://fanyi.baidu.com/translate?aldtype=16047&query=&keyfrom=baidu&smartresult=dict&lang=auto2zh','sec-ch-ua': '"Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36','X-Requested-With': 'XMLHttpRequest'}sign = getSign(word)data = {'from': 'en' if word[0].upper() in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z'] else 'zh','to': 'zh' or 'en','query': word,'transtype': 'realtime','simple_means_flag': 3,'sign': sign, # '63766.268839''token': 'ceef41c83fe0d714278e1d1dca80a510','domain': 'common'}response = requests.post(url, headers=headers, data=data).json()print(response['trans_result']['data'][0]['dst'])if __name__ == '__main__':word = input("请输入翻译元素:")request(word)

js的文件自己找找看。。。。。。。


推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
author-avatar
手机用户2502902843
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有