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

 更新时间:2021年06月07日 11:31:07   作者:最遥远的天秤  
大家是不是嫌弃每次打开百度太麻烦?今天教大家利用Python通过获取剪切板数据实现百度划词搜索功能,用程序直接打开网页,需要的朋友可以参考下

一、实现划词功能

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

import pyperclip as pc 
import time

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

	 time.sleep(1)

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

三、解决问题

这个程序呢我最近还是要重新思考一下思路,发现很多方式都不是特别正确,所以可以移步到我的另一篇博客。那么这片博客就这样简单结束了哈!

到此这篇关于利用Python通过获取剪切板数据实现百度划词搜索功能的文章就介绍到这了,更多相关Python实现百度划词搜索功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django多种支付、并发订单处理实例代码

    django多种支付、并发订单处理实例代码

    在本篇文章里小编给大家整理的是关于django多种支付、并发订单处理实例代码,需要的朋友们可以学习下。
    2019-12-12
  • 使用Pandas进行时间序列分析的10个关键点详解

    使用Pandas进行时间序列分析的10个关键点详解

    这篇文章主要为大家详细介绍了使用Pandas进行时间序列分析的10个关键点,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • 利用PyQt5+Matplotlib 绘制静态/动态图的实现代码

    利用PyQt5+Matplotlib 绘制静态/动态图的实现代码

    这篇文章主要介绍了利用PyQt5+Matplotlib 绘制静态/动态图的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python跨文件使用全局变量的实现

    python跨文件使用全局变量的实现

    本文主要介绍了python跨文件使用全局变量的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python的标准模块包json详解

    Python的标准模块包json详解

    这篇文章主要介绍了Python的标准模块包json详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Python解析Laravel Cookie技巧示例

    Python解析Laravel Cookie技巧示例

    本文将介绍如何使用Python解析Laravel Cookie,以便在Web开发中处理这些Cookie数据,我们将深入了解Cookie的结构,以及如何在Python中对其进行解析和操作
    2023-12-12
  • Python实现抓取网页生成Excel文件的方法示例

    Python实现抓取网页生成Excel文件的方法示例

    这篇文章主要介绍了Python实现抓取网页生成Excel文件的方法,涉及PyQuery模块的使用及Excel文件相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • nditer—numpy.ndarray 多维数组的迭代操作

    nditer—numpy.ndarray 多维数组的迭代操作

    这篇文章主要介绍了nditer—numpy.ndarray 多维数组的迭代操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 6种将Python代码打包成exe应用的方式

    6种将Python代码打包成exe应用的方式

    这篇文章主要给大家介绍了关于6种将Python代码打包成exe应用的方式,对于很多python的初学者来说,很希望将自己用python写的.py文件生成exe直接在电脑上运行,需要的朋友可以参考下
    2023-08-08
  • python3多线程知识点总结

    python3多线程知识点总结

    在本篇文章里小编给各位分享的是关于python3多线程的相关知识点内容,以后需要的朋友们可以参考下。
    2019-09-09

最新评论