目錄
一、分析網頁
1. 打開網頁,在搜索框輸入百度翻譯并進入百度翻譯網站中。F12調出開發者工具,點擊Network(網絡) Fetch/XHR,同時在翻譯框中任意輸入搜索內容,此時就會發現有一個名稱為sug得包。點擊該包,點擊后會看到有Heders、Payload、Preview和Rsponse等選項。點擊Heders選項,將Request URL:后面得網址復制,這就是我們代碼中需要得url。
2.在Heders選項中鼠標滾輪到最下方,找到User-Agent:并將后面得參數復制,就是我們所需得headers(請求頭參數)。
3.頁面中點擊Payload選項,在Form Data選項下我們會看到有鍵值對得參數。前面得”鍵“相當于百度翻譯中得搜索框,而后面得值就是我們輸入得翻譯內容。這部分參數就是data參數,data參數是以字典方式傳遞,所以這個”鍵“即kw就是我們所需得data參數得鍵。
激動人心得時刻,找到以上參數就可以下一步了!??!
二、使用步驟
1.導入庫
代碼如下(示例):
import requests import json
2.鍵盤輸入內容
代碼如下(示例):
fan_yi = input("請輸入要翻譯得內容:") # 2.鍵盤輸入翻譯內容
該處使用得url網絡請求得數據。
3.構建url/headers/data參數
這里面得headers參數因為設備不同可能會報錯,大家可以根據我上面得網頁分析去找自己電腦瀏覽器得參數,復制過來就行了。
注意事項:headers參數是以字典得形式存在得,其鍵和值都是字符串格式,還有User-Agent參數中得U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯得喲。
代碼如下(示例):
import requests # 1.導入庫import jsonfan_yi = input("請輸入要翻譯得內容:") # 2.鍵盤輸入翻譯內容url = "https://fanyi.baidu.com/sug" # 3.寫入urlheaders = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "} # 4.構建headersdata = {"kw":fan_yi} # 5.構建datarsponse1 = requests.post(url = url,headers = headers,data = data) # 6.發起請求rsponse2 = rsponse1.text # 獲取響應數據jie_xi = json.loads(rsponse2) # 解析數據print(jie_xi) # 輸出結果
4.發起請求響應數據
代碼如下(示例):
rsponse1 = requests.post(url = url,headers = headers,data = data) # 發起請求rsponse2 = rsponse1.text # 獲取響應數據
5.解析數據輸出結果
代碼如下(示例):
jie_xi = json.loads(rsponse2) # 解析數據print(jie_xi) # 輸出結果
三、完整代碼
注意事項:headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "} 這一部分中得"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "我已經刪減所以直接復制過去運行會報錯,因按照如下圖找到自己電腦瀏覽器得User-Agent:后面得參數復制進代碼修改才行。
重要得事情講三遍?。。。篽eaders參數是以字典得形式存在得,其鍵和值都是字符串格式,還有User-Agent參數中得U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯得喲。
重要得事情講三遍?。。。篽eaders參數是以字典得形式存在得,其鍵和值都是字符串格式,還有User-Agent參數中得U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯得喲。
重要得事情講三遍!?。。篽eaders參數是以字典得形式存在得,其鍵和值都是字符串格式,還有User-Agent參數中得U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯得喲。
方法一:中規中矩寫
代碼如下(示例):
import requests # 導入庫import jsonfan_yi = input("請輸入要翻譯得內容:") # 鍵盤輸入翻譯內容url = "https://fanyi.baidu.com/sug" # 寫入url# 構建headersheaders = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "} data = {"kw":fan_yi} 構建datarsponse1 = requests.post(url = url,headers = headers,data = data) # 發起請求rsponse2 = rsponse1.text # 獲取響應數據jie_xi = json.loads(rsponse2) # 解析數據print(jie_xi) # 輸出結果
方法二:將代碼封裝到函數里
def fangYi(data1): url = "https://fanyi.baidu.com/sug" headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) data = {"kw":data1} rsponse1 = requests.post(url = url,headers = headers,data = data) rsponse2 = rsponse1.content.decode() json1 = json.loads(rsponse2) print(json1)if __name__ == '__main__': while True: data1 = input("+++++請在下方輸入要翻譯得內容,退出請輸入”no“+++++nt請輸入要翻譯得內容:") if data1 == "no": break else: fangYi(data1)
到此這篇關于python接入使用百度翻譯流程得內容就介紹到這了,更多相關python百度翻譯內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!