openRefine 目标列 》 编辑列 》添加远程数据为新列 》表达式
import json
import urllib
import hashlib
import random
url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
appid = str(xxx)
secretKey = 'xxxx'
salt = str(random.randint(10000,99999))
q = value
md = hashlib.md5()
md.update((appid+q+salt+secretKey).encode('utf8'))
sign = md.hexdigest() # 把编码转为16进制字符
url += '?' + 'q=' + urllib.quote(q) + '&from=en' + '&to=zh' + '&appid=' + appid + '&salt=' + salt + '&sign=' \
+ sign # python3是urllib.parse.quote(q). 对q做url编码是为了规范,否则让响应你请求的服务器帮你编码就显得你不专业,
# 毕竟网络约定url只能包含数字+英文+特殊符号。
return url
# 用GREL提取返回的数据 value.parseJson().trans_result[0].dst