import requests ... class Youdao(object):
def __init__(self,word):
self.url =' https":"//fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
self.headers ={
'User - Agent'":"' Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664.110Safari / 537.36Edg / 96.0.1054.62'
'Cookie': 'OUTFOX_SEARCH_USER_ID = -540175604 @ 10.108.160.133;OUTFOX_SEARCH_USER_ID_NCOO = 581892088.1527224;_ntes_nnid = ab0cb59ae64c847ebef8a24ff1b92329, 1637497122770;JSESSIONID = aaa5leUWhsTsv_RtTMH3x;___rl__test__cookies = 1640242400206'
'Referer'":" 'https: // fanyi.youdao.com /'
}
self,formata = None
self,word = word
def generate_formdata(self):
'''
ts":" r = "" + (new Date).getTime()
bv":" t,
salt":" ts + parseInt(10 * Math.random(), 10);
sign":" n.md5("fanyideskweb" + e + i + "Y2FYu%TNSbMCxc3t2u^XT")
'''
ts = str(int(time.time()*1000))
salt = ts + str(random.randint(0,9))
tempstr = "fanyideskweb" + self.word + salt + "Y2FYu%TNSbMCxc3t2u^XT"
md5 = hashlib.md5()
md5.update(tempstr.encode())
sign = md5.hexdigest()
self.formdata = {
"i": self.word,
"from":" AUTO",
"to":" AUTO",
"smartresult":" dict",
"client":" fanyideskweb",
"salt":salt,
"sign":sign,
"ts":ts,
"bv":" 2632875b568a3baf568a14dddf2c8f7f",
"doctype":" json",
"ersion":" 2.1",
"keyfrom":" fanyi.web",
"action":" FY_BY_REALTlME",
"typoResult":False
}
def get_data(self):
response = requests.post(self.url,data=self.formdata,headers=
self.headers)
return response.content
def run(self):
#url
#header
#formdata
self.generate_formdata()
print(self.formdata)
#发送请求,获取相应
data = self.get_data()
print(data)
#解析数据
if name == 'main':
youdao = Youdao("人生苦短,及时行乐")
youdao.run()