執行環境: python 3.6.0
今天處於練習的目的,就用 python 寫了乙個百度翻譯,是如何做到的呢,其實呢就是拿到介面,通過這個介面去訪問,不過中間確實是出現了點問題,不過都解決掉了
先晾圖後晾**
執行結果:
**:# -*- coding: utf-8 -*-
"""功能:百度翻譯
注意事項:中英文自動切換
# self.url = '' # 這裡不能用這個位址,因為對方採用了反爬蟲措施,訪問這個位址是人家是不會給你任何資料的
self.url_0 = ''
self.zh_pattern = re.compile('[\u4e00-\u9fa5]+')
self.headers = 程式設計客棧
def get_post_data(self):
"""拿到 post 請求上傳的引數,並判斷輸入型別並予以返回
:return: 查詢詞
"""if re.search(pattern=self.zh_pattern, string=self.query_string): # 輸入的內容含有中文,則判別其為中文輸入
return
else:
return
def request_translate(self):
"""向百度請求 json 資料
:return: 向百度請求的 json 資料
"""data = self.get_post_data()
try:
response_0 = requests.request(method="post", url=self.url_0, headers=self.headers, data=data).json()
except exception: # 進行資料請求的任何異常處理
response_0 = ''
try:
response_1 = requests.request(method="post", url=self.url_1, headers=self.headers, data=data).json()
except exception: # 進行資料請求的任何異常處理
response_1 = ''
return response_0, response_1
def parse_translate_data(self):
"""資料解析,將請求到的翻譯內容解析並輸出
:return: none
"""response_0 = self.request_translate()[0]
response_1 = 程式設計客棧self.request_translate()[1]
# item = response_0
if response_0:
item = response_0.get('data')[0].get('dst')
print('key word:', self.query_string, '\t', 'translate:', item)
if response_1:
data = response_1.get('data')
print()
for item in data[:1]: # 長度一般為5,這裡只保留其釋義
print('key word: \t[ ]'.format(key=item.get('k')))
www.cppcns.com print('value: \t\t[ ]'.format(value=item.get('v')))
print()
# print(response_1.get('data'))
def main():
"""主函式
:return: none
"""while true:
try:
query_keywords = input("""請輸入您要翻譯的內容 [ 輸入四個'0'退出 ] : """)
if query_keywords == "0000": # 如果輸入四個 '0',退出小程式
print('########## 您已成功退出百度翻譯 ##########')
print('請求出錯,請重試', e.args)
if __name__ == '__main__':
main()
總結本文標題: 基於python實現百度翻譯功能
本文位址: /jiaoben/python/258866.html
尋找百度翻譯引數,實現百度翻譯
author runsen 首先要分析瀏覽器是怎麼傳送請求的。構造請求 找到關鍵請求之後,就要分析請求,然後去構造請求。分析請求有一下幾個要素,url,請求方法,請求頭,請求引數。請求引數有七個,可以通過反覆請求然後比較的方法得出from,to是表示翻譯語言的,transtype,means fla...
python實現簡單的百度翻譯
這段時間,一直在學python,想找點東西實現一下,練手,所以我想通過python 來實現翻譯,話不多說,看吧!以chrome為例 2 找到請求的url位址 3 實現 1 from urllib import request,parse 2import json34 deffanyi keyword...
access百度翻譯 get 我的百度翻譯
為了便於使用,寫了乙個簡單但夠用的使用者介面,它長這個樣子 在左邊輸入英文按下回車後,右邊就會顯示翻譯結果了。這個東西只是單純的顯示翻譯結果,像音標 發音 中英文對照等功能都沒有,而且編輯不方便 如提供乙個 按鈕來清空 不過,其中的一些是api本身不支援 如文字轉語音 另外的如加音標 方便操作的功能...