一、需求分析
我們知道,網上有很多的翻譯平臺,比如:Google翻譯、百度翻譯、有道翻譯、微軟翻譯等等,本次我們來使用selenium模塊實作對Google翻譯的爬取的實作,
我們需要上傳一個檔案給Google翻譯,然后再將Google翻譯的結果保存在一個檔案之中,
當然了,我們是全自動化的處理了啦,也就是說我們使用程式自動的進行這些翻譯的操作,
二、Google 翻譯介紹
顯然,如果你想要訪問Google翻譯是需要一些魔法知識的,這個不方便在這里敘述,所以如果有需要的話可以私信我,我可以私下教你如何處理了啦,
Google翻譯有兩種功能,第一種是直接翻譯文本,第二種是翻譯一個檔案里面的內容:

這是直接翻譯文本的界面,

這是翻譯一個檔案中的內容的界面,
我們本次使用的是第二種方法,即就是上傳一個檔案讓它來翻譯,當然了,我們前面說了我們是使用程式來進行自動化的操作了啦,
三、網頁界面的分析(網頁檢查)
我們打開網頁檢查的分析界面:

然后,我們知道需要首先點擊檔案的按鈕,然后點擊選擇檔案的按鈕:
1、點擊檔案按鈕進行跳轉:
我們首先找到文導航這個按鈕的位置:
我們使用元素選擇工具進行選擇:

2、點擊選擇檔案的按鈕:
與上面的那個是一樣的方法:

然后呢,當我們完成了添加檔案的操作以后,會出現一個翻譯的按鈕:

我們還需要點擊那個翻譯的按鈕才可以獲取得到翻譯的結果,
四、使用Python進行實作功能(selenium模塊)
我們直接給出代碼,里面有比較詳細的注釋了啦:
python學習交流Q群:906715085### from selenium import webdriver 匯入 python 的 selenium 模塊 def transfer(path): """ 這個函式是用作訪問谷歌翻譯的,首先獲取檔案的路徑,然后向瀏覽器發送, :param path: 你想要翻譯的檔案的絕對路徑, :return: 空 """ browser = webdriver.Chrome() # 創建瀏覽器物件 browser.get('https://translate.google.cn/' '?hl=zh-CN&tab=TT&sl=zh-CN&tl=en&op=translate') # 訪問谷歌翻譯的網址 # 里面的引數設定了語言的翻譯,我們可以進行修改,這里是將漢語翻譯成為英語 h1 = browser.current_window_handle # 記錄當前的頁面 # 這個操作是放置點擊以后找不到我們想要的頁面了啦 ele = browser.find_elements_by_tag_name("button") # 獲取得到 button 標簽并且點擊 button # 這里采用了通過標簽名來獲取 button 的方法來進行獲取標簽,方便后面的點擊操作 ele[1].click() # 點擊 button all_h = browser.window_handles # 獲取得到所有的頁面 browser.switch_to.window(all_h[0]) # 選擇當前的頁面 h2 = browser.current_window_handle upload = browser.find_element_by_id('i34') # 獲取得到 “添加檔案” 的那個按鈕的標簽 # 這個標簽的 id 是我們通過網頁檢查獲取得到的啦 upload.send_keys(path) # 上傳檔案 # path 是檔案的絕對路徑,有我們自己選擇指定 print(upload.get_attribute('value')) # 列印顯示檔案的路徑 browser.find_elements_by_tag_name("button")[39].click() # 這個是點擊上傳檔案成功以后的翻譯按鈕 res = browser.page_source # 這個是獲取得到頁面的內容 with open("result.txt", "w+") as f: # 這里是將翻譯的結果寫入一個檔案 # 打開一個檔案,然后將內容寫入這個檔案里面 print(res[30: len(res) - 20]) # 顯示翻譯的結果 f.write(res[30: len(res) - 20]) # 將翻譯的結果寫入檔案之中 f.close() # 操作完成檔案以后還是需要進行關閉的操作的啦 browser.close() # 所有的操作完成以后需要關閉瀏覽器了啦 if __name__ == '__main__': # main函式 # 這個是測驗 transfer(path=r"C:\Users\1\Desktop\Google翻譯\google_transfer0\test.txt") # 將檔案的位置傳遞到形參 path 里面
把注釋去掉以后的代碼如下:
from selenium import webdriver def transfer(path): browser = webdriver.Chrome() browser.get('https://translate.google.cn/' '?hl=zh-CN&tab=TT&sl=zh-CN&tl=en&op=translate') h1 = browser.current_window_handle ele = browser.find_elements_by_tag_name("button") ele[1].click() all_h = browser.window_handles browser.switch_to.window(all_h[0]) h2 = browser.current_window_handle upload = browser.find_element_by_id('i34') upload.send_keys(path) print(upload.get_attribute('value')) browser.find_elements_by_tag_name("button")[39].click() res = browser.page_source with open("result.txt", "w+") as f: print(res[30: len(res) - 20]) f.write(res[30: len(res) - 20]) f.close() browser.close()if __name__ == '__main__': ransfer(path=r"C:\Users\1\Desktop\Google翻譯\google_transfer0\test.txt") 五、測驗功能
我們進行測驗:
test.txt檔案:
翻譯完成以后生成的檔案:

互動端的列印:

以上就是我們的測驗,從而看出,已經實作了我們想要的功能了啦,今天的代碼好像也不是特別多,十分適合拿來練手手,到這
里就分享結束了,下一章見…
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/492249.html
標籤:Python
