python爬虫+pyqt5制作完成 <在线翻译软件.exe>

#仅供学习参考。

 

目标网站:网易翻译+pyqt5 = 在线翻译.exe

功能需求:中英互译,其他国家语言也行,如果能用键盘打得出来得话,这部分功能没怎么测试。

界面介绍:因为有时候网络有延迟,所有增加了个翻译消耗时间。

具体代码实现。往下看。

 

以下为效果图:

功能测试图。

 


import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QTextEdit, QTextBrowser, QHBoxLayout, QVBoxLayout,QPushButton
import hashlib
import time,random
import requests"""
完成时间:2021/03/02
目前实现了功能,代码未梳理
可能日后需要维护,加密方式可能有变
"""url3 = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers2 = {'Cookie': 'OUTFOX_SEARCH_USER_ID_NCOO=1906235112.3537061; OUTFOX_SEARCH_USER_ID="1285038361@10.169.0.84"; _ga=GA1.2.2001922211.1610463059; JSESSIONID=aaaD5ZbxHH8EWdyu--EFx; ___rl__test__cookies=1614354065751','Referer': 'http://fanyi.youdao.com/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
}class Demo(QWidget):def __init__(self):super(Demo,self).__init__()self.setWindowTitle('中英翻译')self.edit_label = QLabel('中文\英文输入:',self)self.browser_label = QLabel('翻译输出:',self)self.time_label = QLabel('翻译消耗时间:',self)self.show_time = QLabel(self)#self.show_time.resize(20,60)self.sent_button = QPushButton('翻    译',self)self.sent_button.setEnabled(False)self.clear_button = QPushButton('清    除',self)self.text_edit = QTextEdit(self)self.text_edit.setPlaceholderText("请输入中文或者英文。Please input Chinese or English.")self.text_browser = QTextBrowser(self)self.text_browser.setPlaceholderText("ver:1.0/pin/20210203")self.time_H_layout = QHBoxLayout()self.sent_H_button = QVBoxLayout()self.edit_v_layout = QVBoxLayout()self.browser_v_layout = QVBoxLayout()self.all_h_layout = QVBoxLayout()self.layout_init()self.text_edit_init()def layout_init(self):self.edit_v_layout.addWidget(self.edit_label)self.edit_v_layout.addWidget(self.text_edit)self.sent_H_button.addWidget(self.sent_button)self.sent_H_button.addWidget(self.clear_button)self.time_H_layout.addWidget(self.time_label)self.time_H_layout.addWidget(self.show_time)self.browser_v_layout.addWidget(self.browser_label)self.browser_v_layout.addWidget(self.text_browser)#self.browser_v_layout.addWidget(self.time_H_layout)self.all_h_layout.addLayout(self.time_H_layout)self.all_h_layout.addLayout(self.edit_v_layout)self.all_h_layout.addLayout(self.sent_H_button)self.all_h_layout.addLayout(self.browser_v_layout)self.setLayout(self.all_h_layout)def text_edit_init(self):#self.text_edit.textChanged.connect(self.show_text_func)self.clear_button.clicked.connect(self.clear_func)self.sent_button.clicked.connect(self.trans_func)self.text_edit.textChanged.connect(self.cheack_FALSE)def trans_func(self):input_str = self.text_edit.toPlainText()self.wangyi(input_str)def show_text_func(self):self.text_browser.setText(self.text_edit.toPlainText())def clear_func(self):self.text_edit.clear()self.text_browser.clear()#self.sent_button.setEnabled(True)def cheack_FALSE(self):if len(self.text_edit.toPlainText())==0:#print("通过长度判断")self.sent_button.setEnabled(False)else:self.sent_button.setEnabled(True)def md5(self,value):md5_obj = hashlib.md5()md5_obj.update(bytes(value, encoding='utf-8'))sign = md5_obj.hexdigest()return signdef wangyi(self,input_str):salt = ""+str(int(time.time() * 1000)) + str(random.randint(0, 9))#以下加密信息,可能具有时效性,估计过一段时间,网易会更新字符串。如果更新了,翻译结果会出现翻译不全,或者少一截之类的异常情况。如有发生请自行更新,或联系本账号sign = self.md5('fanyideskweb' + input_str + salt + "Tbh5E8=q6U3EXe+&L[4c@")  #影响翻译字符串长度以及翻译效果   1、n%A-rKaT5fb[Gy?;N5@Tj 2、Tbh5E8=q6U3EXe+&L[4c@data2 = {'i': input_str,'client': 'fanyideskweb','salt': salt,'sign': sign,'keyfrom': 'fanyi.web'}#print(salt,sign)try:t1 = time.time()respone = requests.post(url=url3, headers=headers2, data=data2).json()tgt = respone['translateResult'][0]#如果 sign 数据有问题导致的异常。t2 = time.time()timee = t2-t1self.show_time.setText("%.3fs"%timee)self.text_browser.setText(tgt)self.sent_button.setEnabled(False)except:self.text_browser.setText("响应超时,请重试!")self.sent_button.setEnabled(False)#self.text_browser.setText()if __name__ == '__main__':app = QApplication(sys.argv)demo = Demo()demo.show()sys.exit(app.exec_())

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61633.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新媒体人都在用的6款在线设计工具

无论是在工作中还是学习中,经常会需要用到各种工具。学会运用工具,可以让你事半功倍,轻松高效地完成任务!今天给大家整理几款高效的在线设计工具,一起来看看吧! 01.稿定设计——贴图加水印 网址&#xff…

mac设计师系列 Adobe “全家桶” 15款设计软件 值得收藏!

文章素材来源:风云社区、简书 文章收录于:风云社区 www.scoee.com,提供1700多款mac软件下载 Adobe Creative Cloud 全线产品均可开放下载(简称Adobe CC 全家桶),Adobe Creative Cloud 为多国语言版本&#…

Principle for Mac 6.12 中文版 优秀的交互原型设计工具

Principle for Mac 是一款优秀的交互原型设计工具,可以在很短时间内制作出一个具有完整交互动画的原型,并且可将交互动画生成视频或者 Gif 分享到 Dribbble、Twitter 等社交平台。此外 Principle 还支持多种尺寸的原型设计,包括 Apple Watch&…

spacedesk-把ipad变成显示器-真香经验全面分享

目录 spacedesk基本使用 spacedesk自定义设置 退出和重新开启电脑端的spacedesk软件 作为学生党,去图书馆学习不能背着个显示器,工作人士出去出差可能也需要显示器,如果你有平板的话,何不物尽其用呢。其实无论是ipad&#xff0…

交互原型图设计必备软件,这5款太赞了

如果你是UI/UX设计师,你肯定会在工作中涉及到交互原型图的设计。 在设计交互原型图时,我们通常需要找到一些适合自己的交互原型图设计软件来制作高质量的交互原型图。 与您分享5款易于使用的交互原型图设计软件 1.即时设计 即时设计是国内UI/UX设计师…

一个产品级MCU菜单框架设计~

声明:本处所说的菜单是用在128*64这种小屏幕的菜单,例如下面这种,不是彩屏上的GUI。 作为一个底层驱动工程师,驱动写完了,是要写硬件测试程序的。这个测试程序,一般给测试部/硬件工程师用来测试硬件&#x…

16款精品Mac平面设计软件,设计师专用,打造设计大作

如果您对自己的设计没有信心,那么您试试这16款精品Mac平面设计软件吧,设计师专用,打造设计大作的良心推荐,无论是新手还是专业的设计师来说,都能快速作创造出满意的作品。 1、Autodesk Sketch Book Autodesk SketchBo…

设计行业不可不知的6个电脑端设计神器

工欲善其事必先利其器,作为战斗在用户体验第一线的 UI 设计师更是如此,对自己的工具一定相当挑剔。毕竟,好用的工具才能够发挥自己100%的实力。下面介绍的这6款设计软件,作为设计师的你如果还未了解,那么绝对不容错过。…

pc ios android,PC、iOS、Android通用的交互设计

本文作者一大坨黄 供职微博UDC设计中心 。近年来,在技术方式,网页自适应的兴起、微软Win8系统的发布,都在试图解决一个问题:让同一产品能在平板、PC等多平台下同时使用。 由此可见,替换掉冗余的多版本开发模式&#xf…

Mac设计的必备设计软件,看看你还差什么

作为设计师而言,人手一台苹果设备大概是人人向往的最佳配置。即使是刚入行业的小白,揣着苹果设备也能让自己看起来像那么一回事儿。不过,真正在设计工作中发挥作用的还是那些优秀的设计软件。让我们来了解一下下面的这些MacOS必备设计软件,看看你还差什么。 1.Figma …

推荐:产品经理都在用的交互软件

这篇文章主要针对还没有入职产品经理,但是对产品经理有兴趣,想要进行了解,以及已经入职,但是没有头绪的一些小伙伴们,为大家分享能够轻松上手的交互软件。 1.Pixso 第一款软件是我在进行交互设计的时候最喜欢使用的设…

MAC 终端美化教程(来个全套)

废话不多,上才艺(最终效果图) 帅不帅!!! 你说帅 按照此教程咔咔一顿操作后,你将获得以下装逼成就: 1、清晰好看的文字提示格式 2、带有自己最靓照骗的背景图 3、这个很重要&#xf…

html中pc端与移动端区别,盘点移动端和PC端交互设计上的区别

由于屏幕的大小,所以PC端和移动端在信息呈现上有很大不同。但是有的设计师简单地将区别理解为把页面做长一点,让用户多滑动一些。然而这样是不对的,并不能根本理解两者的不同。 终于把书写完,接下来恢复之前的更文频率。这篇文章我…

你一定要知道的5款交互原型设计工具

不管是小白还是大牛,绘制交互原型图是产品经理必备的技能;不管是实习生还是总监,都是从画原型图开始的。好的交互原型图,可以让开发不问一句,就能看得清清楚楚,开发得明明白白;差的交互原型图&a…

一文带你快速设计精美可视化大屏

一文带你快速设计精美可视化大屏 文章目录 一文带你快速设计精美可视化大屏👨‍🏫前言:什么是可视化大屏👨‍🔬内容1:可视化大屏设计原则和设计考虑👨‍⚖️内容2:可视化大屏设计流程…

实用交互设计工具大盘点

近年来,页面交互设计有了很好的发展,越来越受到人们的重视。如果你想成为一名页面交互设计师,除了对平面设计和产品设计有一定的了解外,更重要的是要知道哪个软件适合页面交互设计。本文将带您了解5款流行的页面交互设计软件。 1…

支持Mac电脑的五款设计软件,你都装好了么?

随着生活的进步,人们对于精神和生活的需求越来越高,随之而来的就是对于设计的需求。想从事设计行业的人也越来越多,不少UI设计师依靠自己的自学也能够设计出众多令人惊艳的作品。这里我就介绍几款支持Mac电脑的五款设计软件,有需要…

五款支持Mac的设计软件

大学一毕业,我就投身到UI设计行业里,作为非专业出身的设计师,我付出的努力比入行前预想的还要多,就我自己的经验而言,UI设计不仅要有设计功底,同时还要有用户思维,当然,掌握好几款合…

pc端产品设计

目录 一、pc端和移动端的区别 二、pc作用 三、pc端原型设计尺寸 四、网站结构 1、通栏 2、两栏 3、三栏 4、混合 5、瀑布流 五、pc页面设计 A、页面设计——单排导航 B、页面设计——多排导航(淘宝、携程) C、页面设计——banner D、页面设…

如何让安装微信

打开浏览器,输入链接 可以直接搜索微信官网,也可以直接点击这个链接 https://pc.weixin.qq.com/,把这个链接输入到框中,回车 如图,点击 “立即下载” 第三步 第四步 第五步 第六步 第七步 最后,点击“安装”…