'''
JS加密代码
var r = function(e) {var t = n.md5(navigator.appVersion), r = "" + (new Date).getTime(), i = r + parseInt(10 * Math.random(), 10);return {ts: r,bv: t,salt: i,sign: n.md5("fanyideskweb" + e + i + "Ygy_4c=r#e#4EX^NUGUc5")}};
r = lts   i = salt  e = word
'''# import time
# print(int(time.time())*10000)
# '16549975400000'  python输出
# '16549969865516'  有道 lts
# 'sign: ca53ec0dbad1d3ad020fcfabc86f0387' 32位import random
import time
from hashlib import md5
import requestsclass YoudaoSpider:def __init__(self):# url一定要写抓包时抓到的POST请求的提交地址,但是还需要去掉 url中的'_o',# '_o'这是一种url反爬策略,做了页面跳转,若直接访问会返回{"errorCode":50}self.url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'self.headers = {"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"}# 获取lts时间戳,salt加密盐,sign加密签名def get_lts_salt_sign(self, word):lts = str(int(time.time()*10000))salt = lts+str(random.randint(0, 9))string = "fanyideskweb" + word + salt + "Ygy_4c=r#e#4EX^NUGUc5"s = md5()# md5的加密串必须为字节码s.update(string.encode())# 16进制加密sign = s.hexdigest()print(lts, salt, sign)return lts, salt, signdef attack_yd(self, word):lts, salt, sign = self.get_lts_salt_sign(word)# 构建form表单数据data = {'i': word,'from': 'AUTO','to': 'AUTO','smartresult': 'dict','client': 'fanyideskweb','salt': salt,'sign': sign,'lts': lts,'bv': 'bdc0570a34c12469d01bfac66273680d','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_REALTlME'}# 使用 reqeusts.post()方法提交请求resp = requests.post(self.url, headers=self.headers, data=data)# 将json格式的字符串转为python数据类型html = resp.json()print(html)# {"translateResult":[[{"tgt":"你好世界","src":"hello world"}]]}res = html['translateResult'][0][0]['tgt']print('翻译结果:', res)def run(self):try:word = input('请输入要翻译的单词:')self.attack_yd(word)except Exception as e:print(e)if __name__ == '__main__':spider = YoudaoSpider()spider.run()

网址https://fanyi.youdao.com/

先去控制台抓包 获取表单数据 仔细观察变化规律 salt lts sign 三个是变化的数据

再去源代码部分格式化JS代码分析 获取加密字符串的Python表示

Python实现本地翻译API相关推荐

  1. python调用百度翻译-Python 调用百度翻译API

    由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...

  2. 让Python使用Bing翻译API V2

    最近要整点自动翻译的东东,发现最亲民的Google的翻译API关闭了.那么摆在码农的面前大概也只有2条路, 一是,直接使用web版本的的google翻译,然后分析URL,和结果得到翻译结果.然后直接调 ...

  3. 转:利用python调用谷歌翻译API

    废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识 ...

  4. python调用百度翻译api+离线语种检测

    百度翻译api调用(具体参考的哪篇博文找不到了,好几篇太像了,原作者留意到可以告知我改转载附上链接): import urllib, hashlib import random import requ ...

  5. python有道翻译接口-Python调用有道翻译api实现翻译

    通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...

  6. 测试一些利用PYTHON完成中英文翻译的效果

    简 介: 测试了一些在线翻译工具的效果,利用有道翻译 可以方便对常见到的生词进行确认.对于 TEASOFT软件PYTHON功能进行改建,给出了 ?>的翻译模式功能. 关键词: 在线翻译,中英文翻 ...

  7. python实现简单的api接口-简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

  8. 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程

    点击申请百度翻译API,得到一个你自己的API账户. 点击查看申请教程,感谢教程原作者. API官网提供了一个python2的使用接口的demo还有详细的解释文档 想用python3完成,代码几乎照搬 ...

  9. python有道翻译接口-Python通过调用有道翻译api实现翻译功能示例

    本文实例讲述了Python通过调用有道翻译api实现翻译功能.分享给大家供大家参考,具体如下: 通过调用有道翻译的api,实现中译英.其他语言译中文 Python代码: # coding=utf-8 ...

  10. Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示

    Python 调用有道翻译 api 接口翻译整篇西班牙文实战演示 第一章:翻译效果展示 ① 翻译文章示例一[阿尔卡拉门的无海摩纳哥:"不到4万欧元,你就不能在这里租任何东西."] ...

最新文章

  1. AI视频行为分析系统项目复盘——技术篇4:deepsort原理图
  2. 配置告警系统主脚本main.sh mon.sh load.sh 502.sh disk.sh
  3. Android开发之 当前日期String类型转date类型 java代码中实现方法
  4. ROS-Kinetic 中使用XSENS MTI 1 姿态传感器
  5. MySQL(四)字段及常用函数
  6. virtualbox 启动时报Kernel driver not installed (rc=-1908) 的错误
  7. 启动JavaFx程序界面乱码如何解决?
  8. 为什么要减少代码中该死的 if else 嵌套
  9. 线性查找算法(BFPRT)
  10. mysql 8.0.11 Windows安装
  11. 利用Python实现阴阳师自动抽卡
  12. 虚幻动画蓝图按层级的动画混合(layered)
  13. 交叉熵损失函数详解推导
  14. 美通社企业新闻汇总 | 2019.1.9 | 直销巨头雅芳出售广州工厂,美团合作海外公司发展无人配送...
  15. AnyConnect苹果IOS系统Iphone手机的设置教程
  16. 全志A33uboot设置读秒延时启动Linux,build.sh初步了解
  17. 维深集团荣获2004年物流与采购信息化优秀方案大奖
  18. 【GZOI 1032G】腐败分子看直播(树)
  19. 左右无缝轮播html,JS实现左右无缝轮播图代码
  20. 给手机安装NES模拟器,游戏无限玩

热门文章

  1. GB28181协议--设备注册和注销
  2. excel文件修复工具_免费PDF转Word在线工具集合 | 整理分享!
  3. MATLAB在声学理论基础中的应用,MATLAB在声学理论基础中的应用
  4. hive(一)hive的安装与基本配置
  5. 用C#制作PDF文件全攻略
  6. 工业上服务器无线投屏到电视,台式电脑支持无线投屏吗 如何投屏到电视上
  7. 数据结构-栈操作-用链表实现栈基本操作
  8. 顶岗实习周记java方向_java 实习周记
  9. 六个主要的社会网络分析软件的比较
  10. 新版犀牛书该不该入手?