利用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實現百度劃詞搜索功能內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python光學仿真PyQt5基礎框架教程
- Python深度學習實戰PyQt5菜單和工具欄功能作用
- python編程PyQt5創建按鈕及觸發點擊事件示例解析
- python實現無邊框進度條的實例代碼
- PyQt 如何創建自定義QWidget