有道翻译有反爬虫机制,它使用了加密技术。如果你的程序报错,你可以通过搜索、查阅资料找到解决方案:尝试把访问的网址中“/translate_o”中的“_o”删除。

服务器返回的内容,是json的格式。我们可以用处理列表、处理字典的手段来提取翻译。

import requests,json

#调用了两个模块。requests负责上传和下载数据,json负责解析。

while True:

word = input('你想翻译什么呀?')

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

#使用post需要一个链接。

data={'i': word,

'from': 'AUTO',

'to': 'AUTO',

'smartresult': 'dict',

'client': 'fanyideskweb',

'doctype': 'json',

'version': '2.1',

'keyfrom': 'fanyi.web',

'action': 'FY_BY_REALTIME',

'typoResult': 'false'}

#将需要post的内容,以字典的形式记录在data内。

r = requests.post(url,data)

# 就提示到这里呀,剩余的代码记得自己补充上哦~

result = r.json()

print(result['translateResult'][0][0]['tgt'])

彩蛋:给python套一层壳 GUI(Tkinter组件实现)

import requests

import json

from tkinter import Tk,Button,Entry,Label,Text,END

class YouDaoFanyi(object):

def __init__(self):

pass

def crawl(self,word):

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

#使用post需要一个链接

data={'i': word,

'from': 'AUTO',

'to': 'AUTO',

'smartresult': 'dict',

'client': 'fanyideskweb',

'doctype': 'json',

'version': '2.1',

'keyfrom': 'fanyi.web',

'action': 'FY_BY_REALTIME',

'typoResult': 'false'}

#将需要post的内容,以字典的形式记录在data内。

r = requests.post(url, data)

#post需要输入两个参数,一个是刚才的链接,一个是data,返回的是一个Response对象

answer=json.loads(r.text)

#你可以自己尝试print一下r.text的内容,然后再阅读下面的代码。

result = answer['translateResult'][0][0]['tgt']

return result

class Application(object):

def __init__(self):

self.window = Tk()

self.fanyi = YouDaoFanyi()

self.window.title(u'我的翻译')

#设置窗口大小和位置

self.window.geometry('310x370+500+300')

self.window.minsize(310,370)

self.window.maxsize(310,370)

#创建一个文本框

#self.entry = Entry(self.window)

#self.entry.place(x=10,y=10,width=200,height=25)

#self.entry.bind("",self.submit1)

self.result_text1 = Text(self.window,background = 'azure')

# 喜欢什么背景色就在这里面找哦,但是有色差,得多试试:http://www.science.smith.edu/dftwiki/index.php/Color_Charts_for_TKinter

self.result_text1.place(x = 10,y = 5,width = 285,height = 155)

self.result_text1.bind("",self.submit1)

#创建一个按钮

#为按钮添加事件

self.submit_btn = Button(self.window,text=u'翻译',command=self.submit)

self.submit_btn.place(x=205,y=165,width=35,height=25)

self.submit_btn2 = Button(self.window,text=u'清空',command = self.clean)

self.submit_btn2.place(x=250,y=165,width=35,height=25)

#翻译结果标题

self.title_label = Label(self.window,text=u'翻译结果:')

self.title_label.place(x=10,y=165)

#翻译结果

self.result_text = Text(self.window,background = 'light cyan')

self.result_text.place(x = 10,y = 190,width = 285,height = 165)

#回车翻译

def submit1(self,event):

#从输入框获取用户输入的值

content = self.result_text1.get(0.0,END).strip().replace("\n"," ")

#把这个值传送给服务器进行翻译

result = self.fanyi.crawl(content)

#将结果显示在窗口中的文本框中

self.result_text.delete(0.0,END)

self.result_text.insert(END,result)

#print(content)

def submit(self):

#从输入框获取用户输入的值

content = self.result_text1.get(0.0,END).strip().replace("\n"," ")

#把这个值传送给服务器进行翻译

result = self.fanyi.crawl(content)

#将结果显示在窗口中的文本框中

self.result_text.delete(0.0,END)

self.result_text.insert(END,result)

print(content)

#清空文本域中的内容

def clean(self):

self.result_text1.delete(0.0,END)

self.result_text.delete(0.0,END)

def run(self):

self.window.mainloop()

if __name__=="__main__":

app = Application()

app.run()

python有道字典翻译_Python 调取有道翻译接口实现在线翻译功能相关推荐

  1. python利用有道词典翻译_Python利用有道词典接口制作即时翻译的工具

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Python 实用宝典,作者Python 实用宝典 前言 在编程时经 ...

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

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

  3. python集合与字典区别_Python中的字典与集合

    今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法:Dictionary字典(键值对) 语法: dictionary = {key:value,key:v ...

  4. 用小牛翻译API让ChatGPT给我做个在线翻译网站

    一.引言 随着ChatGPT的持续火爆,各种像ChatGPT人工智能聊天机器人,如Claude,通义千问,文心一言不断涌现.这些新兴的人工智能产物在智能问答.语法纠错.信息抽取.代码撰写.译文评估.文 ...

  5. pdf在线翻译_推荐可以pdf等格式直接在线翻译的免费工具

    今天给大家推荐一个功能强大的网站,叫"迅捷PDF转换器". 网站链接: https://app.xunjiepdf.com/fanyi 因为开始是想将PDF文件换成word格式,结 ...

  6. python制作英汉词典_Python基于有道实现英汉字典功能

    本文实例讲述了Python基于有道实现英汉字典功能的方法.分享给大家供大家参考.具体如下: import re,urllib aa="http://dict.youdao.com/searc ...

  7. python全排序算法题_Python的100道经典算法题(1)

    按照c语言的100道经典算法题,自己原创写的,就得是自己的练习题了 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数 ...

  8. python 字符串转字典 编码_python基础--2(字符串、元组、列表、字典、集合、文件、编码转码)...

    python支持的数据类型 int 整数型 float 浮点型 complex 复数,实数+虚数,虚数部分以"j"或"J"结尾,a+bj或者complex(a, ...

  9. python列表中字典排序_python中字典排序,列表中的字典排序

    python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...

最新文章

  1. HarmonyOS UI开发 DirectionalLayout(定向布局) 的使用
  2. DDD+中台+微服务,yyds
  3. 洛谷P1330 封锁阳光大学
  4. 微信小程序服务器开小差了,微信小程序wx.request请求封装
  5. 关于时间格式的解析问题
  6. psv无线怎么连接电脑连接电脑连接服务器,psv如何连接电脑复制视频,音乐,图片等资料教程...
  7. 第1章 MatConvNet简介
  8. centos7设置静态IP地址方法
  9. 刷卡机显示服务器连接失败,pos密码错误_POS机常见故障代码解释
  10. thinkpad选择启动项_ThinkPad如何设置光驱引导启动
  11. php im即时消息,im即时通讯php
  12. tapestry mysql_tapestry与mybatis模块的结合
  13. win7 安装MySQL 5.7.
  14. 三角形面积的勾股定理
  15. 对cross-env的理解
  16. byref和byval什么时候该使用什么时候不该使用
  17. 个人总结-oracle查询锁表、解锁语句
  18. python局域网通信_python如何实现网络通信
  19. Git:在一个仓库中存放多个IDEA项目
  20. 由安卓开发中的一个坑引发的问题解决之道浅析

热门文章

  1. 知微传感3D相机SDK开发文档一查找相机
  2. Syc 2019第10届极客大挑战wp
  3. 基于unity的2d动画制作----基于c#语言开发
  4. pycharm安装第三方库失败解决方案
  5. 考研上岸率约为25%!看一下《2023硕士研究生招生数据解读报告》
  6. 经典按键扫描算法理解
  7. Linux带箭头的截图软件,Flameshot:你们要的超强Linux截图软件
  8. [绍棠] 微信小程序使用npm包的易错点
  9. matlab自动重合闸,基于Matlab的电力系统自动重合闸建模与仿真讲解 - 图文
  10. live555 移植