马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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"))
结果:
|