您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用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通過獲取剪切板數據實現百度劃詞搜索功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。