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有道api-python 调用有道api接口的方法
初学python ,研究了几天,写了一个python 调用 有道api接口程序 效果看下图: 申明:代码仅供和我一样的初学者学习交流 申请很简单的 ps:审核不用花时间的,请勿滥用!! #-*- co ...
- php有道,PHP调用有道词典翻译API实现通译功能及代码
PHP调用有道词典翻译API实现通译功能及代码PHP调用有道词典翻译API实现翻译功能及代码 PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http: ...
- 调用接口登录禅道_调用禅道api创建新用户
调用禅道api创建新用户 使用禅道API是一件非常麻烦的事,因为它没有详细的API文档. 官方在网站内嵌的API文档极其简略,根本不知道需要传递什么参数. 如何知道该如何使用它提供的API呢? 你必须 ...
- python有道翻译接口-Python调用有道翻译api实现翻译
通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...
- python有道翻译-Python调用有道词典翻译
Python调用有道词典翻译 分析 翻译按钮 点击翻译按钮,查看网络请求,如图 共有四个网络请求,通过分析,查看返回的信息,显然第一个是真正的翻译请求,具体信息如下: 如图所示,我们真正关注的是请求参 ...
- [python爬虫]--调用有道词典进行翻译
最近在学习python爬虫,写出来的一些爬虫记录在csdn博客里,同时备份一个放在了github上. github地址:https://github.com/wjsaya/python_spider_ ...
- python实现简单的api接口-简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- python有道翻译接口-Python通过调用有道翻译api实现翻译功能示例
本文实例讲述了Python通过调用有道翻译api实现翻译功能.分享给大家供大家参考,具体如下: 通过调用有道翻译的api,实现中译英.其他语言译中文 Python代码: # coding=utf-8 ...
- python调用有道翻译_python 简单的调用有道翻译
代码 import json import requests # 翻译函数,word 需要翻译的内容 def translate(word): # 有道词典 api url = "http: ...
最新文章
- Flutter Widget
- NIPS改名被否,而在改名分歧之外我们能做的还有很多
- 卡巴斯基:今年以来物联网恶意软件数量已超过去年的2倍
- 语句include和require的区别是什么?
- elementUI vue 编辑中的input的验证残留清除
- 服务器系统功能描述,Hadoop mapreduce核心功能描述
- 关于framework4.5的相关介绍
- 堆——神奇的优先队列(上)
- android实例教程_改造Android示例教程
- .xyz文件_Orca.xyz:除了银行系统瑞士还有同样安全的数字保险箱
- Web 实时通信 WebRTC
- ACM模板——线段树树状数组ST表
- 七周七语言——Prolog(二)
- php yii vendor,Yii2的安装--解决无Vendor目录的问题
- 移动U盘数据恢复,移动U盘数据恢复方法
- 【转载】制作一个超精简的WIN7.gho
- VSCode搭建STM32开发环境(极简自我搭建懒人直接使用插件)
- ext布局问题之tab panel内的gridpanel内容数据变多,出现滚动条
- 大白菜装机教程win10_win10安装教程
- Twitter开发者账号【推特开发者文档系列10】——API参考索引
热门文章
- 【数据结构】深度优先和广度优先比较
- 一篇文章告诉你[C++]数组初始化
- GridView上同时定义了 DataSource 和 DataSourceId
- Hadoop各个组件与端口
- [C++] 前置++与后置++
- 822C Hacker, pack your bags!
- Ubuntu,QT5连接MySQL
- EF中使用数据库的标量值函数
- UVA11556 Best Compression Ever【位运算】
- Bailian2977 生理周期【枚举+中国剩余定理】