如何使用Robotframework去做大量的Google翻譯

如何使用Robotframework去做Google翻譯

最近在專案上需要用到大量的中文翻譯英文,有使用C#去呼叫Google API,但呼叫沒多久就被Google檔下來,本人也不想使用信用卡和Google做綁定(資安疑慮),研究一陣子決定用Robotframework模擬人的操作行為。

通常我們把可以觀察URL的使用情況,你打入https://translate.google.com.tw/?hl=zh-TW#view=home&op=translate&sl=zh-CN&tl=en&text=%E8%8B%B1%E6%96%87,我們要翻譯的文字英文被編碼為%E8%8B%B1%E6%96%87

用網頁查詢畫面會出現我們要的結果如下

此時我們可以按下F12去取出XPath,也就是我們要的結果如下​

這時候我們得知我們的Xpath為/html/body/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]/div[2]/div[1]/div[2]/div/span[1]/span

接下來我們可以開始寫Robotframework自動化做模擬翻譯,先建立一個關鍵字 CallGoogleWebSite,裡面傳第三個參數

  1. Browser (用哪一種Browser開啟),請填 Chrome
  2. URL (準備導轉URL),請填 https://translate.google.com.tw/?hl=zh-TW#view=home&op=translate&sl=zh-CN&tl=en&text=
  3. Translate_Value (要翻譯的文字)

範例如下:

有這個關鍵字後,我們可以透過它得到翻譯回來的文字。

接下來就是我們要準備要翻譯的文字,筆者是用DB先把資料抓取出來在去做翻譯。

假如你要翻譯一筆資料,就直接呼叫筆者所建立的關鍵字,請慘考下圖

透過上述例子,可以得到翻譯的字

 

研究心得:

個人覺得還是呼叫API比較快,如果不想綁信用卡可以用我的方法或者寫script把code下載下來去爬出內文

如果要C# Code or Python Code 可以跟我聯繫

johnes0714@gmail.com