Python 是一種強大的編程語言,可以完成各種各樣的任務,甚至可以編寫腳本來自動化重復性的任務。在網絡爬蟲方面,Python 也是一種非常流行的語言,可以用它來爬取各種網站的數據。這篇文章介紹的是如何使用 Python 爬取有道翻譯網站上的翻譯。
首先需要導入一些 Python 庫,其中包括 requests 和 BeautifulSoup。requests 庫可以用來發送 HTTP 請求,而 BeautifulSoup 庫可以用來解析 HTML 頁面。
import requests from bs4 import BeautifulSoup
接著,我們需要定義一個函數,用來向有道翻譯網站發送 GET 請求,并解析返回的 HTML 頁面。代碼如下:
def translate(query): url = 'http://fanyi.youdao.com/translate' headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36' } params = { 'doctype': 'json', 'i': query, 'from': 'AUTO', 'to': 'AUTO' } response = requests.get(url, headers=headers, params=params) data = response.json() result = data['translateResult'][0][0]['tgt'] return result
以上代碼定義了一個名為 translate 的函數,它接收一個參數 query,表示待翻譯的文本。在函數內部,我們先定義了一些變量,如 URL、headers 和 params,用來構造 GET 請求。其中,params 參數是一個字典,包含了待翻譯的文本、翻譯源語言和目標語言等信息。
然后,我們使用 requests 庫發送 GET 請求,并將返回的數據解析為 JSON 格式。最后,我們從 JSON 數據中提取出翻譯結果 result,然后將其返回。
最后,我們在主函數中調用 translate 函數,并在控制臺打印出翻譯結果。如下所示:
if __name__ == '__main__': query = input('請輸入待翻譯文本:') result = translate(query) print(f'翻譯結果為:{result}')
以上代碼先從控制臺獲取待翻譯的文本 query,然后調用 translate 函數對其進行翻譯,并將翻譯結果 result 打印到控制臺上。
現在,我們已經成功地使用 Python 爬取了有道翻譯網站上的翻譯。如果您想了解更多關于 Python 網絡爬蟲的知識,可以繼續深入學習。