前言
首先感謝觀眾們對我的博文進行修正,也感謝大家支援!由於上一篇在Python社群上傳的博文是我很久以前製作的,我直接從我的個人網站複製了,所以貼上會出現錯誤,特別是文章中出現的html文字會造成網頁錯誤,我會進行一步一步慢慢修改的,那麼這期呢是純教程,我會一步一步教大家如何白嫖與使用介面。
找介面
網易的翻譯api是需要money的,想要嘗試白嫖就要從“公開”的地方入手。“公開”指什麼呢?“公開”指網頁官方開放的地方(比如:線上翻譯),開啟網頁翻譯,並開始抓包
看來是把翻譯內容直接寫在網址裡,大體看了一下下面的翻譯結果,直接處理會花費很多時間,如果不想直接訪問網頁的話只可以通過有道官方提供的API了,
我找到了官方的API介紹中的API演示
並輸入文字開始抓包,
果然沒有讓我失望過,但是需要注意一點,這個介面必須使用POST訪問,只是個DEMO是沒有網易提供的應用ID與Key的,不可以頻繁呼叫,結合官方的API文件
就可以開始寫程式碼了。
寫程式碼
由於介面是允許允許多語言翻譯的,我先寫一個簡單的程式進行呼叫:
import requests
if __name__ == '__main__':
print('BY我叫以賞 And Pikachu!網易api介面翻譯文字!')
Q = input('輸入欲翻譯文字:')
From = input('請輸入原文字語種(為空或沒有輸入採用自動識別):')
if From.strip() == '':
From = 'Auto'
To = input('請輸入翻譯文字語種(為空或沒有輸入採用自動識別):')
if To.strip() == '':
To = 'Auto'
data = {
'q' : Q,
'from' : From,
'to' : To
}
information = requests.post('https://aidemo.youdao.com/trans',data)
print(information.json())
沒有問題,加工一下就可以使用了。
import requests
if __name__ == '__main__':
print('BY我叫以賞 And Pikachu!網易api介面翻譯文字!')
while True:
Q = ''
while Q.strip() == '' or len(Q.strip()) > 1000:
Q = input('輸入欲翻譯文字:')
if Q.strip() == '':
print('欲翻譯文字不可以為空!')
if len(Q.strip()) > 1000:
print('欲翻譯文字長度不可以超過1000!')
print('欲翻譯文字 => %s' % (Q))
From = input('請輸入原文字語種(為空或沒有輸入採用自動識別):')
if From.strip() == '':
From = 'Auto'
print('原文字語種 => %s' % ({'Auto': 'Auto(自動識別)'}.get(From, From)))
To = input('請輸入翻譯文字語種(為空或沒有輸入採用自動識別):')
if To.strip() == '':
To = 'Auto'
print('翻譯文字語種 => %s' % ({'Auto': 'Auto(自動識別)'}.get(To, To)))
data = {
'q': Q,
'from': From,
'to': To
}
information = requests.post('https://aidemo.youdao.com/trans', data)
json = information.json()
errorCode = json['errorCode']
if errorCode != '0':
print('出現錯誤!返回的狀態碼為:%s' % (errorCode))
break
# tSpeakUrl = json['tSpeakUrl']
# speakUrl = json['speakUrl']
# web = json['web']
query = json['query']
translation = json['translation']
print('原文字:' + query)
for x in range(len(translation)):
print('翻譯結果' + str(x + 1) + " : " + translation[x])
更多請自行新增,官方參考連結:https://ai.youdao.com/DOCSIRMA/html/%E8%87...
本作品採用《CC 協議》,轉載必須註明作者和本文連結