Python E化-自制有道英文翻译器

import requests
import json
from tkinter import Tk,Button,Entry,Label,Text,ENDclass YouDaoFanyi(object):def __init__(self):passdef 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)#你可以自己尝试print一下r.text的内容,然后再阅读下面的代码。#result = answer['translateResult'][0][0]['tgt']result_list=[]for i in range(len(answer['translateResult'][0])):result_sub = answer['translateResult'][0][i]['tgt']result_list.append(result_sub)#print(result_list)result=''.join(result_list)return resultclass JinshanFanyi(object):def __init__(self):passdef translate_iciba(self,myword):##### 金山翻译 ######把请求登录的网址赋值给url。url = 'http://fy.iciba.com/ajax.php?a=fy'#加请求头,前面有说过加请求头是为了模拟浏览器正常的访问,避免被反爬虫。headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'}#把有关登录的参数封装成字典,赋值给data。data = {'f': 'auto','t': 'auto','w': myword,}#用requests.post发起请求,放入参数:请求登录的网址、请求头和登录参数,然后赋值给login_in。translate_request = requests.post(url,headers=headers,data=data)js_translate=translate_request.json()mytranslator_iciba=js_translate['content']['out']print('金山翻译:'+mytranslator_iciba)return mytranslator_icibaclass Application(object):def __init__(self):self.window = Tk()self.fanyi = YouDaoFanyi()self.fanyi_jinshan=JinshanFanyi()self.window.title(u'Season翻译器')#设置窗口大小和位置self.window.geometry('620x580+500+10')self.window.minsize(620,580)self.window.maxsize(620,580)#标题-原文self.title_label = Label(self.window,text=u'翻译原文:')self.title_label.place(x=10,y=10)#创建一个文本框self.result_text1 = Text(self.window,background = 'azure')# 喜欢什么背景色就在这里面找哦,但是有色差,得多试试:http://www.science.smith.edu/dftwiki/index.php/Color_Charts_for_TKinterself.result_text1.place(x = 10,y = 30,width = 580,height = 150)#创建一个按钮#为按钮添加事件self.submit_btn = Button(self.window,text=u'翻译',command=self.submit)self.submit_btn.place(x=505,y=185,width=35,height=25)self.submit_btn2 = Button(self.window,text=u'清空',command = self.clean)self.submit_btn2.place(x=550,y=185,width=35,height=25)#翻译结果标题-有道self.title_label = Label(self.window,text=u'有道翻译结果:')self.title_label.place(x=10,y=200)#翻译结果标题-金山self.title_label_jinshan = Label(self.window,text=u'金山翻译结果:')self.title_label_jinshan.place(x=10,y=380)#翻译结果-有道self.result_text = Text(self.window,background = 'light cyan',font=('Arial',11))self.result_text.place(x = 10,y = 220,width = 580,height = 150)#翻译结果-金山self.result_text_jinshan = Text(self.window,background = 'light cyan',font=('Arial',11))self.result_text_jinshan.place(x = 10,y = 400,width = 580,height =150)def submit(self):#从输入框获取用户输入的值content = self.result_text1.get(0.0,END).strip().replace("\n"," ")#把这个值传送给服务器进行翻译result = self.fanyi.crawl(content).strip()#将结果显示在窗口中的文本框中self.result_text.delete(0.0,END)self.result_text.insert(END,result)#把这个值传送给服务器进行翻译result_jinshan = self.fanyi_jinshan.translate_iciba(content)#将结果显示在窗口中的文本框中self.result_text_jinshan.delete(0.0,END)self.result_text_jinshan.insert(END,result_jinshan)#清空文本域中的内容def clean(self):self.result_text1.delete(0.0,END)self.result_text.delete(0.0,END)self.result_text_jinshan.delete(0.0,END)def run(self):self.window.mainloop()if __name__=="__main__":app = Application()app.run()

Python E化-自制有道英文翻译器相关推荐

  1. python代码翻译器-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!

    原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...

  2. python代码翻译-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!

    原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...

  3. python 二维列表从小到大_给Python开发者准备的110道面试题

    信息量非常大!这是给Python开发者准备的110道笔试面试题,我只把问题列出来了,答案见文末,建议每道题都要认真刷一遍,有些题可以尝试用多种方式来解答,甚至做延伸学习,说真的,很多题都可以单独拎出来 ...

  4. Zotero,ZotFile,Python 流程化管理文献

    这几天尝试了各种文献管理软件,为了未来几年硕士科研学习生涯的顺利,这是磨刀不误砍柴工啊!网上的教程看了很多,但都说不清楚,走了很多弯路,最后自己看英文的官方手册慢慢摸索,最终决定采取"Zot ...

  5. python使用matplotlib可视化、使用英文单次或者缩写指定使用的颜色、使用16进制的RGB字符串指定颜色、使用RGB或者RGBA数字元组指定颜色

    python使用matplotlib可视化.使用英文单次或者缩写指定使用的颜色.使用16进制的RGB字符串指定颜色.使用RGB或者RGBA数字元组指定颜色 目录

  6. python判断是否是英文字母_用python如何判断字符串是纯英文

    用python如何判断字符串是纯英文 发布时间:2020-11-11 09:31:24 来源:亿速云 阅读:97 作者:小新 这篇文章主要介绍用python如何判断字符串是纯英文,文中介绍的非常详细, ...

  7. 视频教程-Python编程的术与道:Python语言入门-Python

    Python编程的术与道:Python语言入门 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥ ...

  8. python使用爬虫写一个自己的翻译器(带图像界面)

    python使用爬虫写一个自己的翻译器(带图像界面)   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为 ...

  9. python调用有道翻译_如何用python“优雅的”调用有道翻译?

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

最新文章

  1. Google排名第一的语言,引数十万人关注:搞定它,技术大牛都甘拜下风
  2. 网工路由基础(2)路由选路原理
  3. Python自动化之django的ORM
  4. JavaScript实现表单的分向提交
  5. ICT学习笔记(3)IP编址
  6. Linux网络实时流量监测工具iftop的安装使用
  7. 宝峰BF-888S对讲机写频!Android下的对讲机写频工具!
  8. .pcd文件转换为.ply文件
  9. 海康威视工业相机SDK二次开发环境配置—Windows10+VS2017
  10. QQ账户的申请与登录
  11. php实现点击+1,ajax+php怎么实现点击图片一次 点击数据库字段加1,要代码
  12. 关于-3db截止频率
  13. kivy/buildozer打包
  14. 再谈Java中的覆盖(Overriding)与重载(Overloading)
  15. 简单去除安卓Q类原生系统“SIM1支持高清”通知
  16. 面向服务及其在互联系统策略中的角色
  17. Windows Update Blocker一键启用或禁用Windows10更新(下载安装使用教程)
  18. MySQL中distinct和distinctrow的区别
  19. c++ 获取win10系统版本
  20. Web—SQL注入攻击

热门文章

  1. Java中的JavaCore/HeapDump文件及其分析方法
  2. java与3d建模_java和3d游戏建模哪个?有没有3d建模转java或java转3的建模大佬给我指点一下...
  3. 熊掌号PHP,MIP企业网站模板(熊掌号)
  4. Set集合和List集合
  5. 系统集成项目管理工程师需要考论文吗?
  6. 20145221 《信息安全系统设计基础》课程总结
  7. 如何获取新浪实时股票行情数据
  8. 停车场车辆定位管理系统
  9. 基于计组实验软件CMStudio设计一种简单同或运算指令系统
  10. 35岁程序员和大家聊一聊有关外包项目方面的事情!