python有道翻译-Python调用有道词典翻译
Python调用有道词典翻译
分析
翻译按钮
点击翻译按钮,查看网络请求,如图
共有四个网络请求,通过分析,查看返回的信息,显然第一个是真正的翻译请求,具体信息如下:
如图所示,我们真正关注的是请求参数,在这么多的参数当中,其中,i是需要翻译的词语,通过对多个翻译请求分析知道,from是翻译原文语言,to是翻译的目标语言,剩下的除了salt,sign之外的都是固定的,因此,现在问题是salt,sign是怎么来的
前端代码
通过前端的断点分析,找到发送网络请求的代码,具体如下:
显然,salt是一个时间戳加上随机数得到"" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),sign是一个md5加密的字符串,显然,只有模拟出这两个参数就可以了
代码
# -*- coding: UTF-8 -*-
import hashlib
import random
import requests
import time
s = requests.Session()
m = hashlib.md5()
class Dict:
def __init__(self):
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0',
'Referer': 'http://fanyi.youdao.com/',
'contentType': 'application/x-www-form-urlencoded; charset=UTF-8'
}
self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom='
self.base_config()
def base_config(self):
"""
设置基本的参数,cookie
"""
s.get('http://fanyi.youdao.com/')
def translate(self):
i = '你好'
salf = str(int(time.time() * 1000) + random.randint(0, 9))
n = 'fanyideskweb' + i + salf + "rY0D^0'nM0}g5Mm1z%1G4"
m.update(n.encode('utf-8'))
sign = m.hexdigest()
data = {
'i': i,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': salf,
'sign': sign,
'doctype': 'json',
'version': "2.1",
'keyfrom': "fanyi.web",
'action': "FY_BY_DEFAULT",
'typoResult': 'false'
}
resp = s.post(self.url, headers=self.headers, data=data)
return resp.json()
dic = Dict()
resp = dic.translate()
print(resp)
项目地址: 基于Python的爬虫
QQ交流群: 173318043
python有道翻译-Python调用有道词典翻译相关推荐
- python有道自动翻译_Python 调用有道翻译接口实现翻译
最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同. 首先来看一下网页 post 过去的数据 大家不难发现,我 ...
- php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码
PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd3 ...
- java有道翻译_Java 调用 有道翻译API
利用有道API进行翻译 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea ...
- java调用百度翻译_Java调用百度API实现翻译-Go语言中文社区
下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...
- python调用有道翻译_Python调用有道翻译
import requests import json import time import hashlib import random if __name__ == '__main__': S = ...
- python操作有道云_Python3调用有道云AI,进行文字识别
#coding=utf-8 import os import json import time import random import base64 import string import has ...
- 自制英语翻译(调用有道翻译接口)
import urllib from urllib import request import time import re import requests#构造请求头信息 header={ &quo ...
- 禅道 java,java调用禅道接口
api,可以admin登录禅道,看下后台 二次开发 api. 相关手册: api调用步骤 PATH_INFO方式 1.访问 http://x.com/api-getsessionid.json获取禅道 ...
- python实现简单的api接口-简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- 有道python网课怎么样-如何用python“优雅的”调用有道翻译?
前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...
最新文章
- 一到关于js函数的前端面试题引发的血案
- nullnullDataTable 排序
- EasyX实现俄罗斯方块游戏
- PAT甲级 -- 1103 Integer Factorization (30 分)
- 机器学习中的不平衡分类方法(part3)--不平衡分类学习策略
- Android官方开发文档Training系列课程中文版:Android的安全建议 .
- 3-1 Apache Shiro权限管理框架介绍
- Netcdf中时间的格式化
- 索尼MOTO等压榨国内代工厂:员工宿舍像监狱
- 数据结构与算法系列——从菜鸟到入门
- 【机器学习】监督学习--(回归)多元线性回归
- 培养创造性思维20个技巧
- 一个电脑安装多个系统的几个办法
- easyBCD多系统引导软件
- mysql同步一段时间后失败_mysql 主从同步失败后
- Vijos 1041题:神风堂人数
- PCB加工文件—Gerber文件的导出(转载)
- OrCAD/Pspice元件库说明
- 三星note10 android11,【极光ROM】-【三星NOTE10/NOTE10+/5G N97XX-9825】-【V11.0 Android-R-UCD】...
- 笔记本电脑(PC)序列号查询