温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Python通过获取剪切板数据实现百度划词搜索功能

发布时间:2021-06-07 14:37:02 来源:亿速云 阅读:175 作者:小新 栏目:开发技术

小编给大家分享一下如何使用Python通过获取剪切板数据实现百度划词搜索功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、实现划词功能

说是划词翻译,实际上我们是通过获取用户的剪切板内容,通过一系列的操作得到的。首先呢,我们就先实现如何获取剪切板内容的程序

如何使用Python通过获取剪切板数据实现百度划词搜索功能

首先先在桌面创建一个文件夹,命名为“MoveSearch”文件夹

如何使用Python通过获取剪切板数据实现百度划词搜索功能

之后我们双击点入这个文件夹,创建一个“MainWindow.py”的程序和“Clipborad.py”这两个程序

如何使用Python通过获取剪切板数据实现百度划词搜索功能

我们这里使用Sublime进行操作演示,我们点开“ClipBoard.py”的文件,然后我们按照下面的图片添加文件夹到工作路径

如何使用Python通过获取剪切板数据实现百度划词搜索功能
如何使用Python通过获取剪切板数据实现百度划词搜索功能

当出现上面这样的界面时候,我们已经成功将这个文件夹加入了我们的开发路径

接下来,我们在PyPi上面检索我们想要的模块,通过查找,我们发现这里有一个模块符合我们的要求,所以我们可以将它下载下来

如何使用Python通过获取剪切板数据实现百度划词搜索功能

输入命令pip install pyperclip,这样子我们应该就可以安装了。我们在CMD中尝试安装的代码

如何使用Python通过获取剪切板数据实现百度划词搜索功能

在这里呢,我已经成功安装了代码的了,接下来我们尝试一下库的功能,我们先建立一个循环,一直返回我们从剪切板获取的数据

import pyperclip as pc 
import time

while True:
	 copy_text = pc.paste()
	 print(copy_text)

	 time.sleep(1)

我们首先导入模块,然后创建一个循环,继续创建键盘输入,最后打印键盘输入的值,为了让程序运行的时间不消耗系统的大量内存,于是我们加上Time模块让程序进行一定时间的休眠,实现合理分配

如何使用Python通过获取剪切板数据实现百度划词搜索功能

我们通过上面的程序就可以看到,我们的程序将我们的值返回了回来。

其实我们可以发现,我们的复制程序非常简单,所以我们我们返回主程序编写代码。

如何使用Python通过获取剪切板数据实现百度划词搜索功能

我们现在要编写一个打开外部网页的办法。这个时候呢有很多种选择,那么这里我选择大概是大家比较常用的库——PyQt5来操作。其实最近呢QT也开发了一个新的Python接口,有兴趣的小伙伴们可以修改代码做一些尝试

我们先导入程序运行所需要的模块

如何使用Python通过获取剪切板数据实现百度划词搜索功能

我们接下来编写一个类,进行我们的窗口处理

如何使用Python通过获取剪切板数据实现百度划词搜索功能

首先我们先设置窗口的标题,接下来设置窗口出现的位置和它的大小,接下来使用浏览器文件创建它。在这里我们并没有写出访问的链接,因为我们还不知道百度的搜索规则

如何使用Python通过获取剪切板数据实现百度划词搜索功能

使用百度进行搜索后,观察地址栏的变化,可以看到,wd便是接受参数的值

如何使用Python通过获取剪切板数据实现百度划词搜索功能

编写代码,将代码URL改成这样'https://www.baidu.com/s?ie=UTF-8&wd='+str(word)

整个代码也就变成了这样,接下来我们在循环中调用窗口

如何使用Python通过获取剪切板数据实现百度划词搜索功能

传参进入窗口的类当中,我们先运行测试一下

如何使用Python通过获取剪切板数据实现百度划词搜索功能

若我们的剪切板中有值,我们可以发现我们的程序可以打开网页

import pyperclip as pc 
import time
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *

class MainWindow(QMainWindow):
	def __init__(self,word):
		super(QMainWindow,self).__init__()
		self.setWindowTitle("百度划词搜索")
		self.setGeometry(700,600,1200,1200)
		self.browser = QWebEngineView()
		self.browser.load(QUrl('https://www.baidu.com/s?ie=UTF-8&wd='+str(word)))
		self.setCentralWidget(self.browser)


# 首先我们先创建一个循环
while True:
	# 获取系统粘贴板的值
	copy_text = pc.paste()

	# 准备打开网站
	app = QApplication(sys.argv)
	win = MainWindow(copy_text)
	win.show()
	app.exec()

	time.sleep(5)

二、运行错误

我们可以发现程序运行时会出现好多个错误

我们的类创建的不成功

我们第二次进行复制的时候我们会发现。出现了这样的报错QWidget: Must construct a QApplication before a QWidget

如何使用Python通过获取剪切板数据实现百度划词搜索功能

2.我们程序运行后无法继续使用网页

如何使用Python通过获取剪切板数据实现百度划词搜索功能

以上是“如何使用Python通过获取剪切板数据实现百度划词搜索功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI