layout: posttitle: Python3 开发者版抓取百度翻译结果
subtitle: Python3 开发者版抓取百度翻译结果
date: 2019-10-02
author: he xiaodong
header-img: img/default-post-bg.jpg
catalog: true
tags:
- Python3
- 百度翻译API
- 开发者模式
- 通用翻译API

前置条件:首先需要认证为百度翻译开放平台的开发者,能够在控制台获取到 appid 和秘钥这两个信息。然后开通通用翻译服务。如果需要字典和发音信息,需要额外的企业认证及申请开通词典和发音了。

官方给的 demo 是 python 2.x 版本的,代码已经老旧了,就改成了 python 3.x 版本,代码如下:

  1. #coding=utf8
  2. import http.client
  3. import hashlib
  4. import urllib.parse
  5. import random
  6. appid = '' #你的appid
  7. secretKey = '' #你的密钥
  8. httpClient = None
  9. myurl = '/api/trans/vip/translate'
  10. q = 'apple'
  11. fromLang = 'en'
  12. toLang = 'zh'
  13. salt = random.randint(32768, 65536)
  14. sign = appid+q+str(salt)+secretKey
  15. m1 = hashlib.md5()
  16. m1.update(sign.encode('utf-8'))
  17. sign = m1.hexdigest()
  18. myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
  19. httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
  20. httpClient.request('GET', myurl)
  21. #response是HTTPResponse对象
  22. response = httpClient.getresponse()
  23. print(response.read())

文件根据百度给的 demo 修改的,主要是 md5 和 quote 方法的一些变更,稍微改写一下就可以运行。 py baidu.py 能获取到基础信息。

最后恰饭 阿里云全系列产品/短信包特惠购买 中小企业上云最佳选择 阿里云内部优惠券