最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python實(shí)現(xiàn)百度翻譯功能

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

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

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

先晾圖后晾代碼

運(yùn)行結(jié)果:

代碼:

# -*- coding: utf-8 -*-
"""
功能:百度翻譯
注意事項(xiàng):中英文自動(dòng)切換
"""
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' # 這里不能用這個(gè)地址,因?yàn)閷?duì)方采用了反爬蟲措施,訪問這個(gè)地址是人家是不會(huì)給你任何數(shù)據(jù)的
    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 請(qǐng)求上傳的參數(shù),并判斷輸入類型并予以返回
    :return: 查詢?cè)~
    """
    if re.search(pattern=self.zh_pattern, string=self.query_string): # 輸入的內(nèi)容含有中文,則判別其為中文輸入
      return {
      "from": "zh",
      "to": "en",
      "kw": self.query_string, # 模糊查詢 url_1關(guān)鍵詞
      "query": self.query_string, # 精準(zhǔn)查詢 url_0關(guān)鍵詞
    }
    else:
      return {
      "from": "en",
      "to": "zh",
      "kw": self.query_string, # 模糊查詢 url_1關(guān)鍵詞
      "query": self.query_string, # 精準(zhǔn)查詢 url_0關(guān)鍵詞
      }
  def request_translate(self):
    """
    向百度請(qǐng)求 json 數(shù)據(jù)
    :return: 向百度請(qǐng)求的 json 數(shù)據(jù)
    """
    data = self.get_post_data()
    try:
      response_0 = requests.request(method="post", url=self.url_0, headers=self.headers, data=data).json()
    except Exception: # 進(jìn)行數(shù)據(jù)請(qǐng)求的任何異常處理
      response_0 = ''
    try:
      response_1 = requests.request(method="post", url=self.url_1, headers=self.headers, data=data).json()
    except Exception: # 進(jìn)行數(shù)據(jù)請(qǐng)求的任何異常處理
      response_1 = ''
    return response_0, response_1
  def parse_translate_data(self):
    """
    數(shù)據(jù)解析,將請(qǐng)求到的翻譯內(nèi)容解析并輸出
    :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]: # 長(zhǎng)度一般為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():
  """
  主函數(shù)
  :return: None
  """
  while True:
    try:
      query_keywords = input("""請(qǐng)輸入您要翻譯的內(nèi)容 [ 輸入四個(gè)'0'退出 ] : """)
      if query_keywords == "0000": # 如果輸入四個(gè) '0',退出小程序
        print('########## 您已成功退出百度翻譯 ##########')
        break
      else:
        baidu = Baidu_Translate(query_string=query_keywords)
        baidu.parse_translate_data()
    except Exception as e:
      print('請(qǐng)求出錯(cuò),請(qǐng)重試', e.args)
if __name__ == '__main__':
  main()

總結(jié)

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

相關(guān)文章

  • Python實(shí)現(xiàn)替換excel單元格內(nèi)容

    Python實(shí)現(xiàn)替換excel單元格內(nèi)容

    openpyxl是一個(gè)用于讀寫Excel 2010 xlsx/xlsm/xltx/xltm文件的庫(kù),本文將使用openpyxl實(shí)現(xiàn)替換excel單元格內(nèi)容,感興趣的小伙伴可以了解下
    2025-01-01
  • Python設(shè)計(jì)模式之單例模式實(shí)例

    Python設(shè)計(jì)模式之單例模式實(shí)例

    這篇文章主要介紹了設(shè)計(jì)模式中的單例模式Python實(shí)例,需要的朋友可以參考下
    2014-04-04
  • python調(diào)用api實(shí)例講解

    python調(diào)用api實(shí)例講解

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python調(diào)用api實(shí)例講解內(nèi)容,有興趣的朋友們可以參考下。
    2021-04-04
  • Python 高級(jí)變量之字典和字符串詳解

    Python 高級(jí)變量之字典和字符串詳解

    這篇文章主要為大家介紹了Python 字典和字符串,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 解析目標(biāo)檢測(cè)之IoU

    解析目標(biāo)檢測(cè)之IoU

    Intersection over Union(IoU)是一種測(cè)量在特定數(shù)據(jù)集中檢測(cè)相應(yīng)物體準(zhǔn)確度的一個(gè)標(biāo)準(zhǔn)。IoU是一個(gè)簡(jiǎn)單的測(cè)量標(biāo)準(zhǔn),只要是在輸出中得出一個(gè)預(yù)測(cè)范圍(bounding boxes)的任務(wù)都可以用IoU來(lái)進(jìn)行測(cè)量
    2021-06-06
  • python開發(fā)一款翻譯工具

    python開發(fā)一款翻譯工具

    這篇文章主要介紹了如何用python開發(fā)一款翻譯工具,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-10-10
  • Pytorch中膨脹卷積的用法詳解

    Pytorch中膨脹卷積的用法詳解

    今天小編就為大家分享一篇Pytorch中膨脹卷積的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-01-01
  • python中使用while循環(huán)的實(shí)例

    python中使用while循環(huán)的實(shí)例

    在本篇內(nèi)容里小編給各位整理的是關(guān)于python中使用while循環(huán)的實(shí)例以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • python多線程同步售票系統(tǒng)

    python多線程同步售票系統(tǒng)

    這篇文章主要介紹了python多線程同步售票系統(tǒng),文章基于python的相關(guān)資料展開詳細(xì)的多線程同步售票系統(tǒng)介紹,感興趣的小伙伴可以參考一下
    2022-05-05
  • 對(duì)Pytorch中nn.ModuleList 和 nn.Sequential詳解

    對(duì)Pytorch中nn.ModuleList 和 nn.Sequential詳解

    今天小編就為大家分享一篇對(duì)Pytorch中nn.ModuleList 和 nn.Sequential詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-08-08

最新評(píng)論

吉隆县| 苏尼特左旗| 连平县| 金溪县| 郴州市| 天全县| 阳谷县| 开原市| 东城区| 汕尾市| 虎林市| 四会市| 九台市| 方城县| 青龙| 诏安县| 恩平市| 宝兴县| 疏勒县| 科技| 延川县| 普安县| 普定县| 雷波县| 河池市| 临邑县| 遂昌县| 望奎县| 常山县| 横山县| 垫江县| 五大连池市| 石台县| 泾阳县| 凌海市| 汶川县| 汾西县| 富民县| 沿河| 鄂尔多斯市| 堆龙德庆县|