requests 例子:有道翻译
import json
import requests
import time,hashlib,re,random
def youdao():
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers = {
'User-Agent':'...................................................................................................',
'Referer':'........................................................',
'Cookie':'.............................................................................................................................................'
}
#lts时间戳,正则匹配 .js文件中的计算方式:r = "" + (new Date).getTime() >>>>(new Date).getTime()==str(time.time())
time_lts = str(time.time())
regex = re.match('(\d+).(\d+)', time_lts).group(1) + re.match('(\d+).(\d+)', time_lts).group(2)
lts = regex[0:13]
#salt .js文件中的计算方式:i = r + parseInt(10 * Math.random(), 10); Math.random():为0-9之间的随机小数(float) 10:十进制
salt = lts + str(round(random.uniform(0,9)))
# salt = lts + str(random.randint(0,9))
e_i = input('请输入:')
#sign js文件中的计算方式:n.md5("fanyideskweb" + e + i + "]BjuETDhU)zqSxf-=B#7m")
#n:e("./jquery-1.7");e("./utils");e("./md5"); 这里n用 hashlib代替 hexdigest():产出hash值
sign = hashlib.md5(("fanyideskweb" + e_i + salt + "]BjuETDhU)zqSxf-=B#7m").encode()).hexdigest()
data = {
'i':e_i,
'from':'AUTO',
'to':'AUTO',
'smartresult':'dict',
'client':'fanyideskweb',
'salt':salt,
'sign':sign,
'lts':lts,
'bv':'334720d41a1d174718af3a3d58d56f23',
'doctype':'json',
'version':'2.1',
'keyfrom':'fanyi.web',
'action':'FY_BY_REALTlME',
}
response = requests.post(url,data=data,headers=headers)
res_dict = json.loads(response.content.decode())
print(res_dict)
for i in res_dict['smartResult']['entries']:
print(i)
if __name__ == '__main__':
youdao()