|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Python 爬取百度翻译
先在这里注册一个通用翻译 API :
http://api.fanyi.baidu.com/product/11
可选择标准版或高级版(高级版需实名认证才能用,而且高级版每月只能免费翻译 200 万字符)
然后使用以下函数:
- from random import randint
- from hashlib import md5
- from urllib.parse import quote
- from requests import get
- from json import loads
- def baidu_translate(text: str, app_id: str, secret_key: str, from_: str = 'zh', to: str = 'en') -> str:
- """
- 爬取百度翻译
- 参数
- ----------
- text: str
- 待翻译的文本
- app_id: str
- App id
- secret_key: str
- Secret key
- from_: str
- 待翻译文本的语言
- to: str
- 翻译成的语言
- 返回值
- -------
- 翻译后的文本,如果出错则返回空字符串
- """
- try:
- salt = str(randint(32768, 65536))
- sign = md5((app_id + text + salt + secret_key).encode()).hexdigest()
- content = get('http://api.fanyi.baidu.com/api/trans/vip/translate' + '?appid=' + app_id +
- '&q=' + quote(text) + '&from=' + from_ + '&to=' + to + '&salt=' + str(salt) +
- '&sign=' + sign).content.decode()
- data = loads(content)
- list1 = data['trans_result']
- res = []
- for i in list1:
- res.append(i["dst"])
- return '\n'.join(res)
- except Exception: # 出错时返回空字符串
- return ''
复制代码
例如:
- print(baidu_translate("你好\n我叫 zltzlt", "你的 App ID", "你的 Secret Key"))
复制代码
结果:
|
|