【python】5行代碼實現百度api接口調用



1. 目標站點

https://fanyi.baidu.com/

2. 完整代碼

import requests
url = 'https://fanyi.baidu.com/sug'
data = {'kw': 'hello'} # 你只需要改kw對應的值
res = requests.post(url, data=data).json()
print(res['data'][0]['v'])

3. 測試樣例

3.1. 測試樣例Ⅰ(漢譯英)

樣例輸入data = {'kw': '你好'}

import requests
url = 'https://fanyi.baidu.com/sug'
data = {'kw': '你好'}
res = requests.post(url, data=data).json()
print(res['data'][0]['v'])

樣例輸出hello; hi; How do you do!

3.2. 測試樣例Ⅱ(英譯漢)

樣例輸入data = {'kw': 'hello'}

import requests
url = 'https://fanyi.baidu.com/sug'
data = {'kw': 'hello'}
res = requests.post(url, data=data).json()
print(res['data'][0]['v'])

樣例輸出int. 打招呼; 哈嘍,喂; 你好,您好; 表示問候 n. “喂”的招呼聲或問候聲 vi. 喊“喂

4. 調用文檔

4.1. 接口地址

https://fanyi.baidu.com/sug

4.2. 請求方法

post

4.3. 必要參數

參數 類型 描述
kw str 待翻譯的字符串

4.4. 請求示例

import json, requests
url = 'https://fanyi.baidu.com/sug'
data = {'kw': 'hello'}
res = requests.post(url, data=data).json()
print(json.dumps(res, indent=2, ensure_ascii=False))

4.5. 成功響應

{
  "errno": 0,
  "data": [
    {
      "k": "hello",
      "v": "int. 打招呼; 哈嘍,喂; 你好,您好; 表示問候 n. “喂”的招呼聲或問候聲 vi. 喊“喂"
    },
    {
      "k": "hellos",
      "v": "n. 喂( hello的名詞復數 )"
    },
    {
      "k": "hellow",
      "v": "(通常的招呼語)嗨, (打電話用)喂!, (英)(表示驚訝)哎喲"
    },
    {
      "k": "hello girl",
      "v": "女話務員; 女電話接線員"
    },
    {
      "k": "hello kitty",
      "v": "n. 卡通世界中; 有這樣一只小貓; 沒有嘴巴; 臉蛋圓圓的"
    }
  ]
}

5. 接口分析

1、進入百度翻譯頁面,F12打開開發者調試工具,選擇Network-XHR
在這里插入圖片描述
2、我們馬上就發現了一個api接口:

https://fanyi.baidu.com/v2transapi

3、然后我們看一下它的請求參數:

from: en
to: zh
query: hello
transtype: realtime
simple_means_flag: 3
sign: 54706.276099
token: f3742648b89565dc59d86603c03aaae8
domain: common

4、使用python在后端發送請求:

import json, requests
url = 'https://fanyi.baidu.com/v2transapi'
data = {
    'from': 'en',
    'to': 'zh',
    'query': 'hello',
    'simple_means_flag': '3',
    'sign': '54706.276099',
    'token': 'f3742648b89565dc59d86603c03aaae8',
    'domain': 'common'
}
res = requests.post(url, data=data).json()
print(json.dumps(res, indent=2))

5、響應結果:

{
  "errno": 997,
  "errmsg": "\u672a\u77e5\u9519\u8bef",
  "query": "hello",
  "from": "en",
  "to": "zh",
  "error": 997
}

6、額……報錯(⊙﹏⊙)。sign是簽名,token是令牌,這都是百度官方內部定義的,我們很難知道如何解析,這個接口看來不能用了。


1、這里又看到了一個api接口:

https://fanyi.baidu.com/sug

2、這個是根據輸入實時翻譯的接口,所以我們只需要看最后一個sug請求:
在這里插入圖片描述
3、sug接口的請求參數是:

kw: hello

4、sug接口的響應結果是:
在這里插入圖片描述
5、很顯然,res['data'][0]['v']中的字符串就是hello翻譯后的數據:

int. 打招呼; 哈嘍,喂; 你好,您好; 表示問候 n. “喂”的招呼聲或問候聲 vi. 喊“喂

6、用python在后端發送請求,請求成功o( ̄▽ ̄)ブ:

import requests
url = 'https://fanyi.baidu.com/sug'
data = {'kw': 'hello'} # 你只需要改kw對應的值
res = requests.post(url, data=data).json()
print(res['data'][0]['v'])
# 輸出: int. 打招呼; 哈嘍,喂; 你好,您好; 表示問候 n. “喂”的招呼聲或問候聲 vi. 喊“喂

6. 相關推薦

【python】答題卡識別模型api接口調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM