首页 > 其他分享 >一个基于百度翻译爬取的桌面极简翻译框

一个基于百度翻译爬取的桌面极简翻译框

时间:2023-06-27 21:11:41浏览次数:52  
标签:查词 极简 翻译 桌面 爬取 按下 API com

简译:Simple Translate

目录

简介

开源地址:https://github.com/hhr346/SimpleTranslate

一款快速查词的桌面小工具

A desktop gadget for quick word search

一直想做一个极简风格的桌面翻译框,简单且实用。本项目主要借鉴了两处资源,在这里向开源者表示感谢。

一个是很适合我的基础的基于python语言开发和百度翻译API的桌面翻译应用。

网址:Muieay/QuickWord: 桌面翻译小工具 (github.com)

其实已经比较符合我的想法了,但是还存在一些地方想根据我自己需求进一步改进:

  1. 界面还不够简洁:“配置”没必要放在bar上,并且翻译结果我不想放在框里,这样并不直观;
  2. 下方的功能按键显得聊胜于无,“翻译”按键可以用回车键代替,或者可以直接自动翻译(原作者也设置了快捷键 但不知道为什么设置成组合键),“清空”按键可以用一个垃圾桶按钮来替代(或者不要也没关系);
  3. 返回内容只有一个中文释义,显然是不够用的;
  4. 不能实现置顶桌面;
  5. 还不够大!字体、框都是这样;

主要借鉴其的前端设计。

另一个是基于requests库对网站进行请求和一个可视化的桌面。不过其界面设计的过于花哨了,不太符合我的审美。

主要借鉴其的后端处理,并且在基础上进行维护和改进。

网址:百度翻译的爬取及可视化_一定要加;的博客-CSDN博客

该作者的分析过程很清晰,不过没有附完整代码,并且附的代码有一点乱,也有点疏忽的地方。而且其获取的内容和API是一样的,只有一个释义,不过最重要的贡献在于使用requests库直接对百度翻译进行爬取请求。所以如何去分析网页响应内容的丰富信息成为最重要的事情。

两位原作者都已经做的很好了,我不过是在其基础上融合发展。

配置过程

数据来源

本来是打算用官方API来获取翻译内容的,但是返回的结果实在是过于简陋了。对于一个单词只有一个单独的释义,显然是不够用的,所以计划更改获取数据的方式为爬取。

直接从网页上获取内容有很多好处和相应的不利:好处在于网页的响应内容相当丰富,可以获取更多的信息;同时对其他的用户来说,在使用时减少了一些配置过程(比如申请API)。坏处在于存在网站改版的风险,容易被ban,所以可能需要一定的维护,相比于使用官方API来说风险更高,且反应可能相对更慢(可能需要重试多次)。

安装execjs库

为了获取post表单里的信息,需要执行对应的JS代码。

其他的库都好说,这个库安装起来有一点麻烦,可参考该网址自行安装:

execjs的使用 - eliwang - 博客园 (cnblogs.com)

Node.js安装参考该网址:

node.js安装及环境配置超详细教程【Windows系统安装包方式】 - 知乎 (zhihu.com)

特征开发

历史记录

doc文件夹里的history为记录历史记录,query为当前查词记录

快捷键操作

唤醒、隐藏

按下Ctrl+space 来快速唤醒或隐藏窗口。

查词

按下回车键查词(可能会有一定延迟)

清除

按下Ctrl+Backspace 来清除

播放声音

在查词后会自动播放声音,或者可以按<Esc><CapsLock>来播放声音

打包

可以用pyinstaller来打包成exe文件让其更方便使用

运行示例

在屏幕右下角会出现翻译框,输入查询的单词或短语,点击Go或者按下回车键,即可返回相应查询值

image

在命令行里会输出更多相关信息可以参考

image

标签:查词,极简,翻译,桌面,爬取,按下,API,com
From: https://www.cnblogs.com/hhr346/p/17509929.html

相关文章

  • 如何将外语实时翻译?外语翻译软件推荐!​
    如何将外语实时翻译?在今天的全球化社会中,随着跨国贸易和人员流动的增加,实时翻译外语已成为越来越多人的需求。尤其是在旅游、商务、学习等方面,翻译的需求更是不可避免。那么,使用在线翻译工具是最为普遍和方便的方法之一。本文将为您介绍一些实时翻译外语的方法和技巧,帮助您更好地实......
  • Python爬取用户所有博客
    CSDN的爬取比较简单,没有知乎那种反爬虫需要ip代理模拟登录那么麻烦。在确认一个用户之后,找到目录的url,再通过css选择器找到每一篇博客的url再分别保存为markdown格式。importrequestsimportparselimporttomdimportre先导入需要用到的包。第一次用到tomd,用于......
  • Peer Review 该如何翻译
     Review这个词意思很明确,就是“再看看”,但是在中国表示看的词太多了,结果“PeerReview”反而不太好翻译。保持英文原文,或者翻译一半成“同级review”,都是意思比较精确的。评审,复审,复阅,这些都是上级看下级的。中国人看的眼光不是向上就是向下。同辈之间......
  • VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator-翻译
    摘要:本文介绍了一种单目视觉惯性系统(VINS),用于在各种环境中进行状态估计。单目相机和低成本惯性测量单元(IMU)构成了六自由度状态估计的最小传感器套件。我们的算法通过有界滑动窗口迭代地优化视觉和惯性测量,以实现精确的状态估计。视觉结构是通过滑动窗口中的关键帧来维护的,而惯性......
  • 实用模型推荐(二)中译英翻译模型:opus-mt-zh-en
    1.开源地址:https://huggingface.co/Helsinki-NLP/opus-mt-zh-en2.使用场景:中译英,多模型场景的中英转换3.API封装importuvicornfromfastapiimportFastAPIfromloguruimportloggerfrompydanticimportBaseModelfromstarlette.middleware.corsimportCORSMiddle......
  • 【翻译】rocksdb write stall
    翻译自官方wiki:https://github.com/facebook/rocksdb/wiki/Write-Stalls转载请注明出处:https://www.cnblogs.com/morningli/p/16791706.htmlwritestall当flush或compaction无法跟上写入的速率时,rocksdb有旁路系统来减慢写入速率。如果没有这样的系统,用户如果持续写入比硬件能......
  • 自然语言处理 Paddle NLP - 文本翻译技术及应用-理论
    什么是机器翻译机器翻译质量的自动评价从统计机器翻译到神经网络机器翻译多语言/多领域/多模态的翻译应用神经网络机器翻译面临的挑战视频:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1480611&sharedType=2&sharedUserId=2631487&ts=1687143......
  • 如何在线就能翻译文字?翻译文字软件分享!​
    如何现线翻译?我们学习英语时,大多都会看英文电影,读英文小说,培养对英语的语感,但经常也会遇到不懂的词汇。上学的小伙伴的话可以去咨询老师,老师可以作出解答,那已经上班工作的小伙伴们怎么办呢?今天小编就来跟大家说一个在线翻译的APP,可以轻松帮你应该英语难题。学生也可以借用翻译不懂......
  • Python爬虫高并发爬取数据
    高效爬虫可以在较短的时间内获取更多的数据,提高数据的采集速度。这对于需要大量数据支撑的数据分析、机器学习、人工智能等任务非常重要。高效爬虫可以获取更多的原始数据,并允许更精准的数据清洗和处理。这样可以提高数据的质量和关联性,使得后续的分析和挖掘工作更加准确和有价值。......
  • QNX-9—QNX官网文档翻译—Understanding QNX Virtual Environments
    注:翻译自QNXHypervisor-->QNXHypervisor2.2User's-->UnderstandingQNXVirtualEnvironmentshttps://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/virt/virt.html一、概述QNX虚拟机管理程序旨在满足Popek/Goldberg(波佩克/戈德堡)......