一、網頁分析
打開Google瀏覽器,找的有道詞典的翻譯網頁(http://fanyi.youdao.com/)
打開后摁F12打開開發者模式,找Network選項卡,點擊Network選項卡,然后刷新一下網頁
然后翻譯一段文字,隨便啥都行(我用的程序員的傳統:hello world),然后點擊翻譯
在選項卡中找到以translate開頭的post文件
上面標注的,寫代碼時要用
記住 User-Agent,用來偽裝瀏覽器請求
這些是需要提交的參數。
好,准備工作做完了,接下來開始干正事了
二、代碼演示

# !/usr/bin/python3 # -*- coding: utf-8 -*- import json import requests while True: #無限循環 content = input("請輸入您要翻譯的內容(輸入 !!! 退出程序): ") #設置退出條件 if content == '!!!': break url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #選擇要爬取的網頁,上面找過了 # 手動替換一下 header = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'} #偽裝計算機提交翻譯申請(下面的內容也在在上面有過,最好根據自己的進行修改) data = {} data['type'] = 'AUTO' data['i'] = content data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom:'] = 'fanyi.web' data['ue'] = 'UTF-8' data['typoResult'] = 'true' # post請求 response = requests.post(url,headers=header,data=data) # 解碼 html = response.content.decode('utf-8') # 轉換為字典 paper = json.loads(html) #打印翻譯結果 print("翻譯結果: %s" % (paper['translateResult'][0][0]['tgt']))
執行代碼,效果如下:
本文參考鏈接:
https://blog.csdn.net/Spiderman_Feng/article/details/110675766