Python3 + wxpython写的一个翻译工具
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写的一个翻译工具相关推荐
- 利用Bing翻译API简单的实现一个翻译工具
常见的翻译服务提供商有Google和微软,它们的在线翻译地址如下: Bing翻译: http://www.microsofttranslator.com/?FORM=R5FD Google翻译: ht ...
- aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...
昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...
- python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...
题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...
- github用相对路径显示图片_我写了一个开源工具, 让Github的README.md可以正常显示超大图片...
最终效果对比 图片替换前: 图片显示有好有坏,能否显示,全凭运气 图片替换后: 所有大图正常显示! 本项目永久开源地址 痛点: Github的README.md展示图片效果并不完美 为了让项目演示更生 ...
- 情人节,我表白了CSDN小姐姐后,竟然...【为表白写了一个绘图工具,让我不再手残】
情人节,我表白了CSDN小姐姐后,竟然-竟然有人看了这篇文. 以下图片素材由一个还没写完的工具绘制,稍后会放在CSDN的代码仓库(现在能用了,还没时间改,颜色填充算法还没写,有能力的朋友可以修改一下) ...
- 用c++写的一个词典工具
使用的QT图形界面,用libcurl获取的网页,在之中遇见了很多问题,一直想用c++类封装一下libcurl,发现c++很不到家啊.索性用了友元函数. 先贴上代码吧 main.cpp #include ...
- Java写的一个记事本工具
近日整理电脑发现了不少大学与研究生时期的软件作品,先发布出来了,一是记录一下十年的程序生涯:二是对于有需要的人可以利用之. 先发布一个记事本程序,这个记事本支持HTTP下载内容的显示. 运行截图如下: ...
- 之前帮朋友写的一个小工具-征途2新浪卡全自动淘号工具+按钮精灵脚本
比较简单的小工具 using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...
- Python 打造基于百度翻译的命令行翻译工具
Python 打造基于百度翻译的命令行翻译工具 由于英文水平一般,所以还是非常依赖翻译工具的.fanyi.baidu.com 都成了我浏览器必开的网页之一了.昨天项目上线,等待过程中,无聊写了一个基于 ...
最新文章
- android修改视频聊天帧率,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮(4)...
- webbench网站压力测试工具的使用方法
- 进入Linux单用户模式
- 本题中的变量(不包括变量ID)进行z-score标准化
- caffe安装篇(一)
- c#抽象属性_C#中的抽象属性
- [No0000197]Windows用户都应该知道的运行命令
- 20165329 学习基础和c语言调查
- python工资高还是java-Python和Java哪个工资高
- Junos: 使用之前
- LaTex的箭头符号及命令
- 解决AndroidStudio中使用.9图片不生效的问题
- 表格页面html代码怎么写,设置表格标题的html的代码怎么写
- JS实现PDF文件下载
- 【数字图像处理】【个人入门记录】 绪论
- Python爬虫学习实战
- 英文破折号、连接号、连字符、负号的区别,注意事项和输入方法
- Excel去重并进行统计(对列)
- 19-typedef
- 密码的正则表达式必须包含至少八个字符,至少一个数字以及大小写字母和特殊字符
热门文章
- 如何使用MP3剪切合并大师剪切MP3文件
- 视觉SLAM十四讲(第2版)总结
- mysql分别查询男生的信息和女生信息,Mysql命令集
- measure()源码分析
- html5表单下拉列表样式,表单的各种下拉和样式大全
- 一个月上3天班,年薪100万,你来不来!
- 网络工程毕业设计 SSM网上租车系统(源码+论文)
- 用计算机做初中模拟物理实验,利用虚拟实验室提高初中生物理实验的兴趣.docx...
- access百科 pc_access
- html+css实战152-定位-hot图标