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是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...
随机推荐
- 常规诊疗条件下比较依那西普生物类似药(益赛普)与阿达木、英夫利西对RA的疗效[EULAR2015_SAT0360]
常规诊疗条件下比较依那西普生物类似药(益赛普)与阿达木单抗.英夫利西单抗治疗RA的临床疗效 SAT0360 ETANAR - A ETANERCEPT BIOSIMILAR IS AS EFFEC ...
- sql 查找连续的时间区间以及连续天数
create table tmptable(rq datetime) go insert tmptable values('2010.1.1') insert tmptable values('201 ...
- pytorch学习笔记三之神经网络
神经网络¶ 1. 概述¶ 使用torch.nn包构建神经网络 nn依赖于autograd来定义模型并对其进行微分 nn.Module包含层,以及返回output的方法forward ...
- PostgreSQL Repmgr集群
一.概述 repmgr是一套开源工具,用于管理PostgreSQL服务器群集内的复制和故障转移.它支持并增强了PostgreSQL的内置流复制,该复制流提供了一个读/写主服务器以及一个或多个只读备用数 ...
- string str = string.Empty也会出错?
如题 为什么会出现这种情况?大佬解释一下.
- mkdir 08 权限居然和mkdir 07不同
在用fileZilla软件往Ubuntu传输文件时,提示没有权限,当时就蒙了,往文件夹复制内容怎么还扯到权限了?ls -l一看,mkdir 08 权限居然和mkdir 07不同,记录下来. 原因:在嵌 ...
- Android 删除已知路径的文件或文件夹
转载:https://blog.csdn.net/qq_31939617/article/details/89414714[功能]delete(String delFile):删除文件或文件夹 del ...
- 图 -拓扑 topo
https://www.cnblogs.com/New-ljx/p/13874648.html 在有向无环图上,用拓扑排序在O(n)的时间内求出最短/长路,是一个不错的选择(也称拓扑的DP). 只需要 ...
- Java内存分析利器——Eclipse Memory Analyzer工具的使用
一.如何下载Java程序的dump内存文件并离线导入到MemoryAnalyser工具进行分析 1.jps查看Java应用的pid jps 11584216168084 Launcher24792 ...
- 使用伪元素 before 叹号
.tip { width: 400px; line-height: 150%; border-left-color: #f66; color: #666; padding: 12px 24px 12p ...