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有道api-python 调用有道api接口的方法

    初学python ,研究了几天,写了一个python 调用 有道api接口程序 效果看下图: 申明:代码仅供和我一样的初学者学习交流 申请很简单的 ps:审核不用花时间的,请勿滥用!! #-*- co ...

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

    PHP调用有道词典翻译API实现通译功能及代码PHP调用有道词典翻译API实现翻译功能及代码 PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http: ...

  3. 调用接口登录禅道_调用禅道api创建新用户

    调用禅道api创建新用户 使用禅道API是一件非常麻烦的事,因为它没有详细的API文档. 官方在网站内嵌的API文档极其简略,根本不知道需要传递什么参数. 如何知道该如何使用它提供的API呢? 你必须 ...

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

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

  5. python有道翻译-Python调用有道词典翻译

    Python调用有道词典翻译 分析 翻译按钮 点击翻译按钮,查看网络请求,如图 共有四个网络请求,通过分析,查看返回的信息,显然第一个是真正的翻译请求,具体信息如下: 如图所示,我们真正关注的是请求参 ...

  6. [python爬虫]--调用有道词典进行翻译

    最近在学习python爬虫,写出来的一些爬虫记录在csdn博客里,同时备份一个放在了github上. github地址:https://github.com/wjsaya/python_spider_ ...

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

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

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

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

  9. python调用有道翻译_python 简单的调用有道翻译

    代码 import json import requests # 翻译函数,word 需要翻译的内容 def translate(word): # 有道词典 api url = "http: ...

最新文章

  1. Flutter Widget
  2. NIPS改名被否,而在改名分歧之外我们能做的还有很多
  3. 卡巴斯基:今年以来物联网恶意软件数量已超过去年的2倍
  4. 语句include和require的区别是什么?
  5. elementUI vue 编辑中的input的验证残留清除
  6. 服务器系统功能描述,Hadoop mapreduce核心功能描述
  7. 关于framework4.5的相关介绍
  8. 堆——神奇的优先队列(上)
  9. android实例教程_改造Android示例教程
  10. .xyz文件_Orca.xyz:除了银行系统瑞士还有同样安全的数字保险箱
  11. Web 实时通信 WebRTC
  12. ACM模板——线段树树状数组ST表
  13. 七周七语言——Prolog(二)
  14. php yii vendor,Yii2的安装--解决无Vendor目录的问题
  15. 移动U盘数据恢复,移动U盘数据恢复方法
  16. 【转载】制作一个超精简的WIN7.gho
  17. VSCode搭建STM32开发环境(极简自我搭建懒人直接使用插件)
  18. ext布局问题之tab panel内的gridpanel内容数据变多,出现滚动条
  19. 大白菜装机教程win10_win10安装教程
  20. Twitter开发者账号【推特开发者文档系列10】——API参考索引

热门文章

  1. 【数据结构】深度优先和广度优先比较
  2. 一篇文章告诉你[C++]数组初始化
  3. GridView上同时定义了 DataSource 和 DataSourceId
  4. Hadoop各个组件与端口
  5. [C++] 前置++与后置++
  6. 822C Hacker, pack your bags!
  7. Ubuntu,QT5连接MySQL
  8. EF中使用数据库的标量值函数
  9. UVA11556 Best Compression Ever【位运算】
  10. Bailian2977 生理周期【枚举+中国剩余定理】