欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于python實現百度翻譯功能

 更新時間:2019年05月09日 17:05:39   作者:TianChuang335  
這篇文章主要介紹了基于python實現百度翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

運行環(huán)境: python 3.6.0

今天處于練習的目的,就用 python 寫了一個百度翻譯,是如何做到的呢,其實呢就是拿到接口,通過這個接口去訪問,不過中間確實是出現了點問題,不過都解決掉了

先晾圖后晾代碼

運行結果:

代碼:

# -*- coding: utf-8 -*-
"""
功能:百度翻譯
注意事項:中英文自動切換
"""
import requests
import re
class Baidu_Translate(object):
  def __init__(self, query_string):
    self.query_string = query_string
    self.url_1 = 'https://fanyi.baidu.com/sug'
    # self.url = 'https://fanyi.baidu.com/v2transapi' # 這里不能用這個地址,因為對方采用了反爬蟲措施,訪問這個地址是人家是不會給你任何數據的
    self.url_0 = 'https://fanyi.baidu.com/transapi'
    self.zh_pattern = re.compile('[\u4e00-\u9fa5]+')
    self.headers = {
      'Accept': '* / *',
      'Accept - Encoding': 'gzip, deflate',
      'Accept - Language': 'zh-CN, zh; q=0.9',
      'Connection': 'keep - alive',
      'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
      'X-Requested-With': 'XMLHttpRequest',
    }
  def get_post_data(self):
    """
    拿到 post 請求上傳的參數,并判斷輸入類型并予以返回
    :return: 查詢詞
    """
    if re.search(pattern=self.zh_pattern, string=self.query_string): # 輸入的內容含有中文,則判別其為中文輸入
      return {
      "from": "zh",
      "to": "en",
      "kw": self.query_string, # 模糊查詢 url_1關鍵詞
      "query": self.query_string, # 精準查詢 url_0關鍵詞
    }
    else:
      return {
      "from": "en",
      "to": "zh",
      "kw": self.query_string, # 模糊查詢 url_1關鍵詞
      "query": self.query_string, # 精準查詢 url_0關鍵詞
      }
  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[ {key} ]'.format(key=item.get('k')))
        print('value: \t\t[ {value} ]'.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('########## 您已成功退出百度翻譯 ##########')
        break
      else:
        baidu = Baidu_Translate(query_string=query_keywords)
        baidu.parse_translate_data()
    except Exception as e:
      print('請求出錯,請重試', e.args)
if __name__ == '__main__':
  main()

總結

以上所述是小編給大家介紹的基于python實現百度翻譯功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

相關文章

  • Python生成器generator用法示例

    Python生成器generator用法示例

    這篇文章主要介紹了Python生成器generator用法,結合實例形式分析了Python生成器generator常見操作技巧與相關注意事項,需要的朋友可以參考下
    2018-08-08
  • opencv python Canny邊緣提取實現過程解析

    opencv python Canny邊緣提取實現過程解析

    這篇文章主要介紹了opencv python Canny邊緣提取實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • pyinstaller打包后,配置文件無法正常讀取的解決

    pyinstaller打包后,配置文件無法正常讀取的解決

    這篇文章主要介紹了pyinstaller打包后,配置文件無法正常讀取的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題

    windows10安裝python依賴報錯can‘t?create?or?remove?files?in?i

    這篇文章主要介紹了windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價值,希望對大家有所幫助
    2023-09-09
  • Python中 Global和Nonlocal的用法詳解

    Python中 Global和Nonlocal的用法詳解

    global關鍵字用來在函數或其他局部作用域中使用全局變量, nonlocal聲明的變量不是局部變量,也不是全局變量,而是外部嵌套函數內的變量。這篇文章主要介紹了Python中 Global和Nonlocal的用法,需要的朋友可以參考下
    2020-01-01
  • python中entry用法講解

    python中entry用法講解

    在本篇文章里小編給大家整理的是一篇關于python中entry用法講解內容,有興趣的朋友們可以學習參考下。
    2020-12-12
  • 兩行Python代碼實現pdf轉word功能

    兩行Python代碼實現pdf轉word功能

    這篇文章主要為大家詳細介紹了如何利用兩行Python代碼就能實現pdf轉word功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03
  • 基于Python實現自動關機小工具

    基于Python實現自動關機小工具

    上班族經常會遇到這樣情況,著急下班結果將關機誤點成重啟,或者臨近下班又通知開會,開完會已經遲了還要去給電腦關機。今天使用PyQt5做了個自動關機的小工具,設置好關機時間然后直接提交即可,需要的可以參考一下
    2022-10-10
  • Python 實現平臺類游戲添加跳躍功能

    Python 實現平臺類游戲添加跳躍功能

    這篇文章主要介紹了Python 實現平臺類游戲添加跳躍功能,,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python中下劃線的使用方法

    Python中下劃線的使用方法

    這篇文章主要介紹了Python中下劃線的使用方法,是為python編程學習中的基本知識,需要的朋友可以參考下
    2015-03-03

最新評論