目錄
- 一、實(shí)現(xiàn)劃詞功能
- 二、運(yùn)行錯(cuò)誤
- 三、解決問(wèn)題
一、實(shí)現(xiàn)劃詞功能
說(shuō)是劃詞翻譯,實(shí)際上我們是通過(guò)獲取用戶的剪切板內(nèi)容,通過(guò)一系列的操作得到的。首先呢,我們就先實(shí)現(xiàn)如何獲取剪切板內(nèi)容的程序
首先先在桌面創(chuàng)建一個(gè)文件夾,命名為“MoveSearch”文件夾
之后我們雙擊點(diǎn)入這個(gè)文件夾,創(chuàng)建一個(gè)“MainWindow.py”的程序和“Clipborad.py”這兩個(gè)程序
我們這里使用Sublime進(jìn)行操作演示,我們點(diǎn)開(kāi)“ClipBoard.py”的文件,然后我們按照下面的圖片添加文件夾到工作路徑
當(dāng)出現(xiàn)上面這樣的界面時(shí)候,我們已經(jīng)成功將這個(gè)文件夾加入了我們的開(kāi)發(fā)路徑
接下來(lái),我們?cè)赑yPi上面檢索我們想要的模塊,通過(guò)查找,我們發(fā)現(xiàn)這里有一個(gè)模塊符合我們的要求,所以我們可以將它下載下來(lái)
輸入命令pip install pyperclip
,這樣子我們應(yīng)該就可以安裝了。我們?cè)贑MD中嘗試安裝的代碼
在這里呢,我已經(jīng)成功安裝了代碼的了,接下來(lái)我們嘗試一下庫(kù)的功能,我們先建立一個(gè)循環(huán),一直返回我們從剪切板獲取的數(shù)據(jù)
import pyperclip as pc
import time
while True:
copy_text = pc.paste()
print(copy_text)
time.sleep(1)
我們首先導(dǎo)入模塊,然后創(chuàng)建一個(gè)循環(huán),繼續(xù)創(chuàng)建鍵盤(pán)輸入,最后打印鍵盤(pán)輸入的值,為了讓程序運(yùn)行的時(shí)間不消耗系統(tǒng)的大量?jī)?nèi)存,于是我們加上Time模塊讓程序進(jìn)行一定時(shí)間的休眠,實(shí)現(xiàn)合理分配
我們通過(guò)上面的程序就可以看到,我們的程序?qū)⑽覀兊闹捣祷亓嘶貋?lái)。
其實(shí)我們可以發(fā)現(xiàn),我們的復(fù)制程序非常簡(jiǎn)單,所以我們我們返回主程序編寫(xiě)代碼。
我們現(xiàn)在要編寫(xiě)一個(gè)打開(kāi)外部網(wǎng)頁(yè)的辦法。這個(gè)時(shí)候呢有很多種選擇,那么這里我選擇大概是大家比較常用的庫(kù)——PyQt5來(lái)操作。其實(shí)最近呢QT也開(kāi)發(fā)了一個(gè)新的Python接口,有興趣的小伙伴們可以修改代碼做一些嘗試
我們先導(dǎo)入程序運(yùn)行所需要的模塊
我們接下來(lái)編寫(xiě)一個(gè)類,進(jìn)行我們的窗口處理
首先我們先設(shè)置窗口的標(biāo)題,接下來(lái)設(shè)置窗口出現(xiàn)的位置和它的大小,接下來(lái)使用瀏覽器文件創(chuàng)建它。在這里我們并沒(méi)有寫(xiě)出訪問(wèn)的鏈接,因?yàn)槲覀冞€不知道百度的搜索規(guī)則
使用百度進(jìn)行搜索后,觀察地址欄的變化,可以看到,wd便是接受參數(shù)的值
編寫(xiě)代碼,將代碼URL改成這樣'https://www.baidu.com/s?ie=UTF-8wd='+str(word)
整個(gè)代碼也就變成了這樣,接下來(lái)我們?cè)谘h(huán)中調(diào)用窗口
傳參進(jìn)入窗口的類當(dāng)中,我們先運(yùn)行測(cè)試一下
若我們的剪切板中有值,我們可以發(fā)現(xiàn)我們的程序可以打開(kāi)網(wǎng)頁(yè)
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-8wd='+str(word)))
self.setCentralWidget(self.browser)
# 首先我們先創(chuàng)建一個(gè)循環(huán)
while True:
# 獲取系統(tǒng)粘貼板的值
copy_text = pc.paste()
# 準(zhǔn)備打開(kāi)網(wǎng)站
app = QApplication(sys.argv)
win = MainWindow(copy_text)
win.show()
app.exec()
time.sleep(5)
二、運(yùn)行錯(cuò)誤
我們可以發(fā)現(xiàn)程序運(yùn)行時(shí)會(huì)出現(xiàn)好多個(gè)錯(cuò)誤
我們的類創(chuàng)建的不成功
我們第二次進(jìn)行復(fù)制的時(shí)候我們會(huì)發(fā)現(xiàn)。出現(xiàn)了這樣的報(bào)錯(cuò)QWidget: Must construct a QApplication before a QWidget
2.我們程序運(yùn)行后無(wú)法繼續(xù)使用網(wǎng)頁(yè)
三、解決問(wèn)題
這個(gè)程序呢我最近還是要重新思考一下思路,發(fā)現(xiàn)很多方式都不是特別正確,所以可以移步到我的另一篇博客。那么這片博客就這樣簡(jiǎn)單結(jié)束了哈!
到此這篇關(guān)于利用Python通過(guò)獲取剪切板數(shù)據(jù)實(shí)現(xiàn)百度劃詞搜索功能的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)百度劃詞搜索功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python實(shí)現(xiàn)全盤(pán)掃描搜索功能的方法
- Python模擬百度自動(dòng)輸入搜索功能的實(shí)例
- Python實(shí)現(xiàn)查找二叉搜索樹(shù)第k大的節(jié)點(diǎn)功能示例
- Python實(shí)現(xiàn)的本地文件搜索功能示例【測(cè)試可用】
- python實(shí)現(xiàn)手機(jī)通訊錄搜索功能
- python使用正則表達(dá)式的search()函數(shù)實(shí)現(xiàn)指定位置搜索功能
- Python中使用haystack實(shí)現(xiàn)django全文檢索搜索引擎功能
- 基于Python實(shí)現(xiàn)通過(guò)微信搜索功能查看誰(shuí)把你刪除了
- 在Python的Flask框架中實(shí)現(xiàn)全文搜索功能