首頁 > 軟體

python接入使用百度翻譯流程

2022-07-26 14:01:40

一、分析網頁

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 json
fan_yi = input("請輸入要翻譯的內容:")    # 2.鍵盤輸入翻譯內容
url = "https://fanyi.baidu.com/sug"     # 3.寫入url
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "}  # 4.構建headers
data = {"kw":fan_yi}    # 5.構建data
rsponse1 = 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:後面的引數複製程序式碼修改才行。

重要的事情講三遍!!!:headers引數是以字典的形式存在的,其鍵和值都是字串格式,還有User-Agent引數中的U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯的喲。

重要的事情講三遍!!!:headers引數是以字典的形式存在的,其鍵和值都是字串格式,還有User-Agent引數中的U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯的喲。

重要的事情講三遍!!!:headers引數是以字典的形式存在的,其鍵和值都是字串格式,還有User-Agent引數中的U字母和A字母都必須是大寫,如果粗心寫錯了是會報錯的喲。

方法一:中規中矩寫

程式碼如下(範例):

import requests     # 匯入庫
import json
fan_yi = input("請輸入要翻譯的內容:")    # 鍵盤輸入翻譯內容
url = "https://fanyi.baidu.com/sug"     # 寫入url
# 構建headers
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "}  
data = {"kw":fan_yi}    構建data
rsponse1 = 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百度翻譯內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com