python翻译(一)
有道翻译
# -*- coding: UTF-8 -*-
import requests
import time
import random
import hashlib #用于md5加密 '''
有道js加密代码 define("newweb/common/service", ["./utils", "./md5", "./jquery-1.7"], function(e, t) {
var n = e("./jquery-1.7");
e("./utils");
e("./md5");
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 + "Tbh5E8=q6U3EXe+&L[4c@")
}
} '''
'''
需要传入的表单参数
form data
{
i: 你好 ---------要翻译的内容
from: AUTO ---------不变
to: AUTO ---------不变
smartresult: dict ---------不变
client: fanyideskweb ---------不变
salt: 16140794369711 ---------变化,需要从js获取
sign: ebd24f53c35b99b5190d261458569d15 ---------变化,需要从js获取
lts: 1614079436971 ---------变化,需要从js获取
bv: 3da01a09873456cfb5dba05f2124b148 ---------变化,需要从js获取
doctype: json ---------不变
version: 2.1 ---------不变
keyfrom: fanyi.web ---------不变
action: FY_BY_REALTlME ---------不变
} ''' base_url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' header={
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Length': '243',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'OUTFOX_SEARCH_USER_ID=279929001@10.108.160.102; OUTFOX_SEARCH_USER_ID_NCOO=1593630629.8354774; JSESSIONID=aaaasrifKqzfreFp2NoFx; ___rl__test__cookies=1614098943617',
'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/88.0.4324.150 Safari/537.36',
'X-Requested-With':'XMLHttpRequest',
} #获取md5值
def get_md5(str_data):
temp=hashlib.md5()
temp.update(str_data.encode('utf-8'))
return temp.hexdigest() data={}
#构造函数生产表单参数
def postdata(message): user_agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"
data['i']=message
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTlME'
#获取bv的值,该值为所输入需要翻译内容的dm5值
data['bv']=get_md5(user_agent)
#获取lts值,该值为当前时间秒数
r=str(int(time.time()*1000))#毫秒所以*1000
data['lts']=r
#获取salt值,该值为当前时间秒数加上随机获取的1-10的数字拼接
i=r+str(int(random.randint(1,10)))
data['salt']=i
#获取sign的值
e=message
data['sign']=get_md5("fanyideskweb" + e + i+ "Tbh5E8=q6U3EXe+&L[4c@")
return data message=input('请输入要翻译的单词:')
form_data=postdata(message)
print(form_data) response= requests.post(url=base_url,headers=header,data=form_data)
json_data=response.json()#将获取的信息转换为json格式
'''
{"translateResult":[[{"tgt":"The dog","src":"狗"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","dog\r\n"],"type":1}} '''
result=json_data['translateResult'][0][0]['tgt']
print('翻译结果为:%s'%result)
python翻译(一)的更多相关文章
- Hacking Secret Ciphers with Python翻译序言
马上就要下班,一直想做点什么,学点什么,但是似乎从未着手. 是的,我想学习Hacking,或许很多人都想学,但是诸多的大牛说,这个得有基础,万丈高楼平地起,我做过那么一点点的密码分析,加上某些地方有小 ...
- python 翻译爬虫
import urllib.request import urllib.parse import json while 1: content=input("请输入要翻译的内容:") ...
- Python - 翻译Talk Python To Me (和我聊Python) 播客
“和我聊Python”是一个美国的聊天播客,英文名Talk Python To Me,类似于喜马拉雅的音频课程节目,只不过这个主题是编程语言Python.该节目从2015年的节目到现在,已经超过256 ...
- Python翻译
translator.py # -*- coding: utf-8 -*- # author: inspurer(月小水长) # pc_type lenovo # create_time: 2019/ ...
- 使用 Python 翻译 CHM 帮助文档
此方法绝对切实可行 翻译成品项目: https://github.com/foyoux/InstallShield2020-Documents 效果预览 安装 docts 库 pip install ...
- 用Python实现一个“百度翻译”
import requests import json s = input("请输入你要翻译的内容:") headers = {"User-Agent":&qu ...
- [编程基础] Python谷歌翻译库googletrans总结
1 使用说明 本文介绍python谷歌翻译库接口googletrans的使用.具体见官方文档: https://py-googletrans.readthedocs.io/en/latest/#goo ...
- PHP 调用Python脚本
上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...
- 为什么你写的Python运行的那么慢呢?
大约在一年前,也就是2013年在Waza(地名),Alex Gaynor提到了一个很好的话题:为什么用Python.Ruby和Javascript写的程序总是运行的很慢呢?正如他强调的,关键就是现在出 ...
- 学习Python不得不关注和学习的国外大神博客
注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...
随机推荐
- 【ACR2015】持续临床缓解的RA患者能停用TNF拮抗剂吗?
标签: 类风湿关节炎; 药物减停; 生物制剂; 减停后复发 荷兰一项随机对照试验显示, 已获持续6个月临床缓解或低疾病活动度的RA患者在停用TNFi的6个月内约三分之一病情复发 Moghadam HG ...
- U-Boot-基础概念与学习分享
U-Boot 基础概念与学习分享 Board: rockchip-px30, armv8, Cortex-A35 U-Boot: rockchip-linux/u-boot, branch next- ...
- 探索 C 语言的递归函数
<C Primer Plus>函数章节:递归函数.结合 Visual Studio 调试理解 C 语言的递归函数,下面是书上一模一样的代码,贴在这里: #include<stdio. ...
- IIS SSL认证流程& url重写
一.SSL认证 也就是我们常说的服务器认证,为的是启动加密传输协议https,步骤如下: 1.生成证书请求 进入IIS,选择服务器的服务器证书设置选项, 创建证书申请,填值如图所示 选择加密服务提供程 ...
- LeetCode-386 字典序排数
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lexicographical-numbers 题目描述 给你一个整数 n ,按字典序返回范围 [ ...
- mogdb的一主两备
# 一.环境准备 |节点类别|主机名|IP||-|-|-||主节点|mogdb1 |192.168.3.68||备节点1|mogdb2 |192.168.3.69||备节点2|mogdb3|192.1 ...
- Ubuntu 安装 PHP
Ubuntu版本:20.04.1 LTS PHP版本:8.2.3 下载地址: https://www.php.net/downloads 官方文档:https://www.php.net/manual ...
- Linux常用命令 转于WoW_Boom
一.常用命令 1.进入到用户根目录cd ~ 或 cd 2.查看当前所在目录pwd 3.进入到itcast用户根目录cd ~itcast 4.返回到原来目录cd - 5.返回到上一级目录cd .. 6. ...
- XAF在页面中添加按钮
参考链接:XAF在DashboardView右下方添加SimpleAction - 幽梦紫曦的专栏 - TNBLOG
- nohup原理
Nohup的原理也很简单,终端关闭后会给此终端下的每一个进程发送SIGHUP信号,而使用nohup运行的进程则会忽略这个信号,因此终端关闭后进程也不会退出. Linux的信号 SIGHUP:当用户退出 ...