# -*- coding:utf-8 -*-
# Author:Hai.Tang
import requests
import random
import time
import hashlib
import json
class YouDao(object):
def __init__(self, searchStr):
self.url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
self.searchStr = searchStr
def get_ts(self):
ts = time.time()*1000
return ts
def get_salt(self, ts):
salt = ts + random.randint(0,10)
return str(salt)
def get_sign(self, salt):
m = hashlib.md5()
m.update(("fanyideskweb" + self.searchStr + salt + "n%A-rKaT5fb[Gy?;N5@Tj").encode('utf-8'))
return m.hexdigest()
def get_bv(self):
return "a4f4c82afd8bdba188e568d101be3f53"
# {"translateResult":[[{"tgt":"I love you","src":"我爱你"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","I love you\r\n"],"type":1}}
def json_ch(self, content):
dict_data = json.loads(content)
return dict_data['translateResult'][0][0]['tgt']
def run(self):
headers = {
'Referer': "http://fanyi.youdao.com/",
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
'Accept-Language':"zh-CN,zh;q=0.9",
'Cookie': 'xxx' # Cookie用自己的,有自己信息哦
}
ts = self.get_ts()
salt = self.get_salt(ts)
sign = self.get_sign(salt)
bv = self.get_bv()
data = {
'i': self.searchStr,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': salt,
'sign': sign,
'ts': ts,
'bv': bv,
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION',
}
response = requests.post(url=self.url, headers=headers, data=data)
print(self.json_ch(response.text))
if __name__ == '__main__':
user_input = input("输入翻译内容:")
youdao = YouDao(user_input)
youdao.run()
爬虫--有道web端接口js解密
最新推荐文章于 2023-05-30 01:57:47 发布