利用Python通過獲取剪切板數(shù)據(jù)實(shí)現(xiàn)百度劃詞搜索功能
一、實(shí)現(xiàn)劃詞功能
說是劃詞翻譯,實(shí)際上我們是通過獲取用戶的剪切板內(nèi)容,通過一系列的操作得到的。首先呢,我們就先實(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)開“ClipBoard.py”的文件,然后我們按照下面的圖片添加文件夾到工作路徑
當(dāng)出現(xiàn)上面這樣的界面時(shí)候,我們已經(jīng)成功將這個(gè)文件夾加入了我們的開發(fā)路徑
接下來,我們?cè)赑yPi上面檢索我們想要的模塊,通過查找,我們發(fā)現(xiàn)這里有一個(gè)模塊符合我們的要求,所以我們可以將它下載下來
輸入命令pip install pyperclip
,這樣子我們應(yīng)該就可以安裝了。我們?cè)贑MD中嘗試安裝的代碼
在這里呢,我已經(jīng)成功安裝了代碼的了,接下來我們嘗試一下庫的功能,我們先建立一個(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)建鍵盤輸入,最后打印鍵盤輸入的值,為了讓程序運(yùn)行的時(shí)間不消耗系統(tǒng)的大量內(nèi)存,于是我們加上Time模塊讓程序進(jìn)行一定時(shí)間的休眠,實(shí)現(xiàn)合理分配
我們通過上面的程序就可以看到,我們的程序?qū)⑽覀兊闹捣祷亓嘶貋怼?/p>
其實(shí)我們可以發(fā)現(xiàn),我們的復(fù)制程序非常簡單,所以我們我們返回主程序編寫代碼。
我們現(xiàn)在要編寫一個(gè)打開外部網(wǎng)頁的辦法。這個(gè)時(shí)候呢有很多種選擇,那么這里我選擇大概是大家比較常用的庫——PyQt5來操作。其實(shí)最近呢QT也開發(fā)了一個(gè)新的Python接口,有興趣的小伙伴們可以修改代碼做一些嘗試
我們先導(dǎo)入程序運(yùn)行所需要的模塊
我們接下來編寫一個(gè)類,進(jìn)行我們的窗口處理
首先我們先設(shè)置窗口的標(biāo)題,接下來設(shè)置窗口出現(xiàn)的位置和它的大小,接下來使用瀏覽器文件創(chuàng)建它。在這里我們并沒有寫出訪問的鏈接,因?yàn)槲覀冞€不知道百度的搜索規(guī)則
使用百度進(jìn)行搜索后,觀察地址欄的變化,可以看到,wd便是接受參數(shù)的值
編寫代碼,將代碼URL改成這樣'https://www.baidu.com/s?ie=UTF-8&wd='+str(word)
整個(gè)代碼也就變成了這樣,接下來我們?cè)谘h(huán)中調(diào)用窗口
傳參進(jìn)入窗口的類當(dāng)中,我們先運(yùn)行測(cè)試一下
若我們的剪切板中有值,我們可以發(fā)現(xiàn)我們的程序可以打開網(wǎng)頁
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) # 首先我們先創(chuàng)建一個(gè)循環(huán) while True: # 獲取系統(tǒng)粘貼板的值 copy_text = pc.paste() # 準(zhǔn)備打開網(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)行后無法繼續(xù)使用網(wǎng)頁
三、解決問題
這個(gè)程序呢我最近還是要重新思考一下思路,發(fā)現(xiàn)很多方式都不是特別正確,所以可以移步到我的另一篇博客。那么這片博客就這樣簡單結(jié)束了哈!
到此這篇關(guān)于利用Python通過獲取剪切板數(shù)據(jù)實(shí)現(xiàn)百度劃詞搜索功能的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)百度劃詞搜索功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python實(shí)現(xiàn)全盤掃描搜索功能的方法
- Python模擬百度自動(dòng)輸入搜索功能的實(shí)例
- Python實(shí)現(xiàn)查找二叉搜索樹第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)通過微信搜索功能查看誰把你刪除了
- 在Python的Flask框架中實(shí)現(xiàn)全文搜索功能
相關(guān)文章
django多種支付、并發(fā)訂單處理實(shí)例代碼
在本篇文章里小編給大家整理的是關(guān)于django多種支付、并發(fā)訂單處理實(shí)例代碼,需要的朋友們可以學(xué)習(xí)下。2019-12-12使用Pandas進(jìn)行時(shí)間序列分析的10個(gè)關(guān)鍵點(diǎn)詳解
這篇文章主要為大家詳細(xì)介紹了使用Pandas進(jìn)行時(shí)間序列分析的10個(gè)關(guān)鍵點(diǎn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10利用PyQt5+Matplotlib 繪制靜態(tài)/動(dòng)態(tài)圖的實(shí)現(xiàn)代碼
這篇文章主要介紹了利用PyQt5+Matplotlib 繪制靜態(tài)/動(dòng)態(tài)圖的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Python的標(biāo)準(zhǔn)模塊包json詳解
這篇文章主要介紹了Python的標(biāo)準(zhǔn)模塊包json詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03Python實(shí)現(xiàn)抓取網(wǎng)頁生成Excel文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)抓取網(wǎng)頁生成Excel文件的方法,涉及PyQuery模塊的使用及Excel文件相關(guān)操作技巧,需要的朋友可以參考下2017-08-08nditer—numpy.ndarray 多維數(shù)組的迭代操作
這篇文章主要介紹了nditer—numpy.ndarray 多維數(shù)組的迭代操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05python3多線程知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給各位分享的是關(guān)于python3多線程的相關(guān)知識(shí)點(diǎn)內(nèi)容,以后需要的朋友們可以參考下。2019-09-09