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()
题主从哪搞来的代码,一堆小问题,字符串内容空格乱出现,模块也没导入
import requests
import time
import random
import hashlib
class Youdao(object):
def __init__(self,word):
self.url ='https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
self.headers ={
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'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=136745829@10.108.160.105; JSESSIONID=aaa7_iJauFH2_chADX23x; OUTFOX_SEARCH_USER_ID_NCOO=2021136706.8445046; ___rl__test__cookies=1640522710923',
'Referer': 'https://fanyi.youdao.com/',
'X-Requested-With': "XMLHttpRequest",
}
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.text
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()
if __name__=="__main__":
url ,header中那么多没用的双引号,是自已写的还是系统加上的?
爬有道词典这个时间戳弄好就行,关注我,我有自己写好的可供参考哦🙊🙊🙊