Python3 + wxpython写的一个翻译工具


学习日语一直有一个问题,有些时候我们看到一句话,可能大致上能猜出来是什么意思,但是日语汉字却不知道怎么去读。我就有这样的烦恼,极大的降低了我对日语学习的热情。
于是这两天在公司闲暇之余,就想利用网上的api做一个日语汉字翻译假名的一个小工具。

一开始我想用百度翻译的api,因为百度翻译有一个显示日语假名的按钮可以查看。但是看起来很简单的api,却不知道为什么硬是拿不到翻译结果。回去用百度翻译默认的参数成功了,但是换了个关键字又无法获取。

其实就算成功了,也不太符合我的要求。因为百度翻译要能显示假名,必须得由某种语言翻译成日语,又不能同时选中日语,从心底里来说,我已经不愿意再多花时间去研究了。

于是我开始想着用python爬虫去实现,有道翻译,谷歌翻译,都没有显示假名的功能。天无绝人之路,我看到了江沪小D的单词翻译,下边正好显示了假名。

打开文本翻译,虽然没有显示假名的功能,但是后台有我想要的数据,还能选择日语到日语,这真的是让我喜出望外。不说了,开工!

一、分析请求

python爬虫最重要的是对请求的分析与构造,而刚好沪江小D在这一块却没那么麻烦。只需要写带上一个content参数,外加请求头的cookie就能拿到数据。翻译方向是拼接在访问路径里面的。

例如:https://dict.hjenglish.com/v10/dict/translation/jp/jp 表示从日语翻译到日语。

注意:cookie一定要有,不然会得到一个非正常访问的信息。
这里贴出获取响应结果的代码:

import requests
base_url = "https://dict.hjenglish.com/v10/dict/translation"
# 如果在公司需要设置代理,个人使用时不用proxies参数
proxies = {'http': SETTINGS['http_proxy'],'https': SETTINGS['https_proxy']}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4043.400','referer': 'https://dict.hjenglish.com/app/trans','cookie': 'HJ_UID=62ecdcb4-18dd-b89a-39b8-d3ae29f7a945; TRACKSITEMAP=3%2C20%2C23; _SREG_20=www.baidu.com%7C%7Csearch%7Cdomain; _SREF_20=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DhyKgBOkGFQR01SSRmo7VknK4QwVQIldqklx5Rp8DnEZEuuKZKZLW6HA_szdxSEOUebC5lDawvY00P_wQbBhKcMfyRi1L_8i4NtSXXbpSHCkFAVUmErnF8jeIacjvCaWTF9a0YnL9vR3XJSErsWNjIa%26wd%3D%26eqid%3Dd56c85360010ae6b00000003603f21b6; _SREF_3=; _REF=; acw_tc=707c9fc316147644229968942e605090718ce7e184164b887c24be999348a4; HJ_CST=0; HJ_CSST_3=0; HJ_SID=4pdfs7-0aa1-46a9-a81d-52e432e2efd8; HJ_SSID_3=4pdfs7-51bb-42aa-824c-ffa74e82386d; _SREG_3=direct%7C%7Cdirect%7Cdirect; _REG=direct%7C%7Cdirect%7Cdirect'}
session = requests.Session()
url = f"{base_url}/cn/jp"
response = ""
try:response = session.post(url, data={"content": keyword}, proxies=proxies, headers=headers)
except:print('网络连接错误!')return None
if response.status_code != 200:trans_result['trans_text'] = 'error!'return None
res_dict = response.json()['data']
print(res_dict)


拿到了数据,大家就可以自由发挥了。我这边展示一下我的成果。

界面很简单,实现了各国语言之间的翻译,日语的情况下会将带假名和不带假名的结果显示在右边。下面是一个历史翻译记录,会保存在本地,每次打开应用程序自动加载。能获取到语音朗读的情况下,会自动朗读翻译结果。

以上就是本次学习的一个记录,欢迎大家留言探讨。程序已打包,请自行下载:https://download.csdn.net/download/qq_36991535/15561961,需要源码的朋友请私信我。

本次小工具的开发,只做学习使用。如有侵权,请联系QQ:1593324992,我将及时进行删除。

Python3 + wxpython写的一个翻译工具相关推荐

  1. 利用Bing翻译API简单的实现一个翻译工具

    常见的翻译服务提供商有Google和微软,它们的在线翻译地址如下: Bing翻译: http://www.microsofttranslator.com/?FORM=R5FD Google翻译: ht ...

  2. aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...

    昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...

  3. python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...

    题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...

  4. github用相对路径显示图片_我写了一个开源工具, 让Github的README.md可以正常显示超大图片...

    最终效果对比 图片替换前: 图片显示有好有坏,能否显示,全凭运气 图片替换后: 所有大图正常显示! 本项目永久开源地址 痛点: Github的README.md展示图片效果并不完美 为了让项目演示更生 ...

  5. 情人节,我表白了CSDN小姐姐后,竟然...【为表白写了一个绘图工具,让我不再手残】

    情人节,我表白了CSDN小姐姐后,竟然-竟然有人看了这篇文. 以下图片素材由一个还没写完的工具绘制,稍后会放在CSDN的代码仓库(现在能用了,还没时间改,颜色填充算法还没写,有能力的朋友可以修改一下) ...

  6. 用c++写的一个词典工具

    使用的QT图形界面,用libcurl获取的网页,在之中遇见了很多问题,一直想用c++类封装一下libcurl,发现c++很不到家啊.索性用了友元函数. 先贴上代码吧 main.cpp #include ...

  7. Java写的一个记事本工具

    近日整理电脑发现了不少大学与研究生时期的软件作品,先发布出来了,一是记录一下十年的程序生涯:二是对于有需要的人可以利用之. 先发布一个记事本程序,这个记事本支持HTTP下载内容的显示. 运行截图如下: ...

  8. 之前帮朋友写的一个小工具-征途2新浪卡全自动淘号工具+按钮精灵脚本

    比较简单的小工具 using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...

  9. Python 打造基于百度翻译的命令行翻译工具

    Python 打造基于百度翻译的命令行翻译工具 由于英文水平一般,所以还是非常依赖翻译工具的.fanyi.baidu.com 都成了我浏览器必开的网页之一了.昨天项目上线,等待过程中,无聊写了一个基于 ...

最新文章

  1. android修改视频聊天帧率,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮(4)...
  2. webbench网站压力测试工具的使用方法
  3. 进入Linux单用户模式
  4. 本题中的变量(不包括变量ID)进行z-score标准化
  5. caffe安装篇(一)
  6. c#抽象属性_C#中的抽象属性
  7. [No0000197]Windows用户都应该知道的运行命令
  8. 20165329 学习基础和c语言调查
  9. python工资高还是java-Python和Java哪个工资高
  10. Junos: 使用之前
  11. LaTex的箭头符号及命令
  12. 解决AndroidStudio中使用.9图片不生效的问题
  13. 表格页面html代码怎么写,设置表格标题的html的代码怎么写
  14. JS实现PDF文件下载
  15. 【数字图像处理】【个人入门记录】 绪论
  16. Python爬虫学习实战
  17. 英文破折号、连接号、连字符、负号的区别,注意事项和输入方法
  18. Excel去重并进行统计(对列)
  19. 19-typedef
  20. 密码的正则表达式必须包含至少八个字符,至少一个数字以及大小写字母和特殊字符

热门文章

  1. 如何使用MP3剪切合并大师剪切MP3文件
  2. 视觉SLAM十四讲(第2版)总结
  3. mysql分别查询男生的信息和女生信息,Mysql命令集
  4. measure()源码分析
  5. html5表单下拉列表样式,表单的各种下拉和样式大全
  6. 一个月上3天班,年薪100万,你来不来!
  7. 网络工程毕业设计 SSM网上租车系统(源码+论文)
  8. 用计算机做初中模拟物理实验,利用虚拟实验室提高初中生物理实验的兴趣.docx...
  9. access百科 pc_access
  10. html+css实战152-定位-hot图标