日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【python】20行代码实现有道翻译api接口调用

發(fā)布時間:2023/12/15 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python】20行代码实现有道翻译api接口调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. 目標站點
  • 2. 完整代碼
  • 3. 測試樣例
    • 3.1. 測試樣例Ⅰ(漢譯英)
    • 3.2. 測試樣例Ⅱ(英譯漢)
  • 4. 調用文檔
    • 4.1. 接口地址
    • 4.2. 請求方法
    • 4.3. 請求參數
    • 4.4. 請求示例
    • 4.5. 成功響應
  • 5. 接口分析
  • 6. 相關推薦


1. 目標站點

http://fanyi.youdao.com/

2. 完整代碼

import requestsdef main(query):url = 'http://fanyi.youdao.com/translate'data = {"i": query, # 待翻譯的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻譯后的結果main('你好') # 輸出: hello

3. 測試樣例

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

樣例輸入:世界

import requestsdef main(query):url = 'http://fanyi.youdao.com/translate'data = {"i": query, # 待翻譯的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻譯后的結果main('世界')

樣例輸出:The world

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

樣例輸入:The world

import requestsdef main(query):url = 'http://fanyi.youdao.com/translate'data = {"i": query, # 待翻譯的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻譯后的結果main('The world')

樣例輸出:世界

4. 調用文檔

4.1. 接口地址

http://fanyi.youdao.com/translate

4.2. 請求方法

post

4.3. 請求參數

參數類型描述
istr待翻譯的字符串
fromstr源語言
tostr翻譯后的語言
smartresultstr\
clientstr客戶端
saltstr\
doctypestr返回文檔類型
versionstr版本號
keyfromstr鍵來源
actionstr執(zhí)行翻譯的動作

4.4. 請求示例

import json, requestsdef main(query):url = 'http://fanyi.youdao.com/translate'data = {"i": query, # 待翻譯的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(json.dumps(res, indent=2, ensure_ascii=False))main('hello')

4.5. 成功響應

{"type": "EN2ZH_CN","errorCode": 0,"elapsedTime": 1,"translateResult": [[{"src": "hello","tgt": "你好"}]] }

5. 接口分析

1、進入有道翻譯頁面,F12打開開發(fā)者調試工具,選擇Network-XHR:

2、我們馬上就發(fā)現了一個api接口:

http://fanyi.youdao.com/translate_o

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

4、使用python在后端發(fā)送請求:

import requests import json url = 'http://fanyi.youdao.com/translate_o' data = {"i": "你好", # 待翻譯的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081239145423","sign": "d567c9205219fd9d3aa9c677d1535212","lts": "1608123914542","bv": "495f346d16cfce476d93dc879b9e4485","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_REALTlME" } res = requests.post(url, data=data).json() print(json.dumps(res, indent=2, ensure_ascii=False))

5、響應結果:

{"errorCode": 50 }

6、額……報錯(⊙﹏⊙)。怎么辦呢?/(ㄒoㄒ)/~~……別急接著往下看。


1、在github上又看到了一個api接口,就是把之前那個接口的_o去掉:

http://fanyi.youdao.com/translate

2、然后就請求成功了:

{"type": "ZH_CN2EN","errorCode": 0,"elapsedTime": 0,"translateResult": [[{"src": "你好","tgt": "hello"}]] }

3、請求參數其實還可以做一些刪減,sign、lts和bv都不需要,可以刪掉。
4、然后action從FY_BY_REALTlME或FY_BY_CLICKBUTTION中任意選擇一個都行。
5、很顯然,res['translateResult'][0][0]['tgt']中的字符串就是你好翻譯后結果。
6、其實salt參數也沒啥用,可以不要。

6. 相關推薦

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

總結

以上是生活随笔為你收集整理的【python】20行代码实现有道翻译api接口调用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。