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调用有道词典翻译相关推荐

  1. python有道自动翻译_Python 调用有道翻译接口实现翻译

    最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同. 首先来看一下网页 post 过去的数据 大家不难发现,我 ...

  2. php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码

    PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd3 ...

  3. java有道翻译_Java 调用 有道翻译API

    利用有道API进行翻译 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea ...

  4. java调用百度翻译_Java调用百度API实现翻译-Go语言中文社区

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  5. python调用有道翻译_Python调用有道翻译

    import requests import json import time import hashlib import random if __name__ == '__main__': S = ...

  6. python操作有道云_Python3调用有道云AI,进行文字识别

    #coding=utf-8 import os import json import time import random import base64 import string import has ...

  7. 自制英语翻译(调用有道翻译接口)

    import urllib from urllib import request import time import re import requests#构造请求头信息 header={ &quo ...

  8. 禅道 java,java调用禅道接口

    api,可以admin登录禅道,看下后台 二次开发 api. 相关手册: api调用步骤 PATH_INFO方式 1.访问 http://x.com/api-getsessionid.json获取禅道 ...

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

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

  10. 有道python网课怎么样-如何用python“优雅的”调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

最新文章

  1. 一到关于js函数的前端面试题引发的血案
  2. nullnullDataTable 排序
  3. EasyX实现俄罗斯方块游戏
  4. PAT甲级 -- 1103 Integer Factorization (30 分)
  5. 机器学习中的不平衡分类方法(part3)--不平衡分类学习策略
  6. Android官方开发文档Training系列课程中文版:Android的安全建议 .
  7. 3-1 Apache Shiro权限管理框架介绍
  8. Netcdf中时间的格式化
  9. 索尼MOTO等压榨国内代工厂:员工宿舍像监狱
  10. 数据结构与算法系列——从菜鸟到入门
  11. 【机器学习】监督学习--(回归)多元线性回归
  12. 培养创造性思维20个技巧
  13. 一个电脑安装多个系统的几个办法
  14. easyBCD多系统引导软件
  15. mysql同步一段时间后失败_mysql 主从同步失败后
  16. Vijos 1041题:神风堂人数
  17. PCB加工文件—Gerber文件的导出(转载)
  18. OrCAD/Pspice元件库说明
  19. 三星note10 android11,【极光ROM】-【三星NOTE10/NOTE10+/5G N97XX-9825】-【V11.0 Android-R-UCD】...
  20. 笔记本电脑(PC)序列号查询

热门文章

  1. syslog简介——系统日志写入API
  2. windows10 上运行 linux -- WSL(Windows Subsystem for Linux)
  3. Nlpir大数据知识图谱的落地指南
  4. 为什么要重写hashcode( )和equals( )?
  5. JSP中 JSTL和EL标签的使用
  6. FreeSWITCH 学习笔记(一)
  7. Python入门 io篇
  8. C语言博客作业03--函数
  9. Github 的使用
  10. Redis 存储字符串和对象