最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)單詞翻譯功能

 更新時間:2017年06月06日 13:42:16   作者:RayFong  
這篇文章主要為大家詳細介紹了Python實現(xiàn)單詞翻譯功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

      在進行英文文獻閱讀時,經(jīng)常會出現(xiàn)一些不認識的單詞,但對于一些pdf閱讀器,比如Foxit閱讀器使用翻譯功能需要點擊(Extra->Translate),并且啟用了翻譯功能將不能使用注釋功能,這對于閱讀者來說將是極不方便的。所以為了方便查詢單詞,自己開發(fā)了個Windows環(huán)境下的Python程序用于監(jiān)控并查詢單詞,而只需的操作就是選中單詞并按Ctrl+C即可。

  該Python程序主要分為三部分:從另外一個應用程序中獲取需要查詢的單詞,單詞翻譯和單詞顯示。

  從另外一個應用程序中獲取需要查詢的單詞涉及到進程間通信,在Windows上最簡單的方法是使用Clipboard功能。Python中有多種方式可以使用剪切板,比如使用win32clipboard(Python使用剪切板的方法)。這里使用的是Qt實現(xiàn)的clipboard,Qt的剪切板實現(xiàn)支持當系統(tǒng)剪切板內(nèi)容發(fā)生改變時回調(diào)。具體實現(xiàn):

# 獲取Qt的剪切板并綁定回調(diào)函數(shù)
self.clipboard = QApplication.clipboard()
self.clipboard.dataChanged.connect(self.on_clipboard_changed)
 # 回調(diào)函數(shù)
 def on_clipboard_changed(self):
 data = self.clipboard.mimeData()
 if data.hasText():
  word = data.text().strip()
  m = re.match(r'[a-zA-Z]+', word)
  if m:
  self.setWord(word)
  #self.setWindowFlags(self.windowFlags() & QtCore.Qt.WindowStaysOnTopHint)
  #self.setWindowState(self.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
  trans = queryWords(word)
  self.setTrans(trans)
  
  ''' tip the window content has changed, but cannot move the window to the forground'''
  self.activateWindow()
  
  else:
  print(word)

  單詞翻譯直接調(diào)用有道單詞翻譯,單詞翻譯的鏈接格式為http://dict.youdao.com/w/{}/,其中{}為需要查詢的單詞。獲取的將是單個網(wǎng)頁,使用BeautifulSoup提取最終的翻譯結(jié)果。

def queryWords(word):
 ''' 利用有道翻譯查詢單詞 '''
 url = 'http://dict.youdao.com/w/{}/'.format(word)
 html = getURL(url)
 soup = BeautifulSoup(html.text, 'html.parser')
 trans_container = soup.find(class_='trans-container')
 
 if not trans_container:
 ''' not found the translation '''
 return [word]
 
 trans_li = trans_container.find_all('li')
 trans_data = [li.text.strip() for li in trans_li]
 return trans_data

  最后顯示是通過Qt編寫的界面,原本是想查詢到單詞后,界面窗口自動激活并移動到最前端,但Windows不允許未經(jīng)用戶操作而將窗口移動到最前端,所以最后只是通過激活窗口提示用戶。

  完整的代碼位于https://github.com/llf2017/pyDict/blob/master/pyDict.py

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

沾化县| 浦东新区| 鹿泉市| 石门县| 富平县| 清水县| 灌云县| 承德县| 安西县| 武安市| 许昌市| 金坛市| 巫溪县| 闽侯县| 乌恰县| 阜宁县| 苏州市| 龙南县| 卫辉市| 南阳市| 安仁县| 南安市| 乌兰察布市| 麦盖提县| 黄平县| 弥渡县| 惠水县| 永新县| 兴安盟| 镇宁| 德阳市| 文成县| 玛纳斯县| 汝州市| 阳江市| 深水埗区| 湘阴县| 汉阴县| 乌兰浩特市| 镇江市| 中山市|