Skip to content

pccuyao/Yao_Dictionary

Repository files navigation

Yao_Dictionary

為了解決長期以來使用Yahoo字典查詢音標與釋義,進而將其內容複製到Onenote等筆記軟體上時,選擇其內容,再另外複製貼上的麻煩。

本程式本質上就是一個網路爬蟲以及自動複製用的程式,並另外添加了自動發音功能。

並且,在學習Python這個語言的目的之上,額外增加了許多錯誤記錄,以練習檔案結構。

簡介

  • 功能:自動查詢與複製Yahoo奇摩字典的英文->中文釋義,並在查詢之後自動發音。

  • 平台:Windows / Mac

  • 必要第三方函式庫:pyperclip, BeautifulSoup, playsound (1.2.2)

  • 必要原生函式庫:requests, urllib.request, os, re, time, webbrowser, PyObjC (Mac)

程式運作

  • 若安裝完必要的函式庫,理論上應該可以正常運作。

  • 程式預設會自動輪迴,可直接輸入 vhelp 來查詢字彙。

  • 輸入 vcopy 可關閉複製功能(預設是開啟)、vaudio 關閉發音功能(預設是開啟),輸入 exit 可離開程式。

  • 程式預設會將記錄檔存至 /log 資料夾,發音檔則是會暫存至 /temp 中,前者可使用指令 delog 刪除,後者程式結束時會自動刪除。

  • 若須要將語音檔案保存,可善用程式執行期間將其拷貝出來。

目前已知問題 & 待改進方向

爬蟲

  • 爬蟲的部分是使用 BeautifulSoup 來進行,主要以抓取 html 節點為主,惟本人不熟悉html與 javascript 語法,在這方面並不是做得很好,期待未來能做到更精準的抓取。

  • 語音部分目前完全是靠網頁原始碼中預設的連結去做猜測,似乎是因為原始的音檔連結是以 javascript 生成,並不能直接從原始 html 中找到,這方面可能要改用 webdriver 或 lxml 等不同的爬蟲工具去執行。

  • 字串的切割、整理做的非常簡陋,沒有效率。

程式本身

  • 目前已經能夠善用 def 定義函式來達到目的,期望往後能夠更全面的使用到 python 的其他功能。(例如 class )

  • 有需多開關都是使用外部初始變量來設置,感覺這樣做不太聰明,希望能找到更好的解法。

  • 太多判斷式寫得過於簡陋,希望未來能寫得更漂亮。

免責聲明

  • Yahoo!、Yahoo 奇摩 和 Yahoo 奇摩字典 是 Yahoo, Inc. 的註冊商標。

  • 字典內容版權所有:Dr.eye譯典通、Powered by Oxford Dictionaries

  • 如本程式有侵害到您的任何權益,請立即通知我,以便將此項目移除。

  • 本程式中使用的第三方軟件產品和組件的所有版權均屬於其相應的所有者。

About

Yahoo 奇摩字典自動複製工具

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages