Python requests抓取有道翻译 最新版破解Js加密
目标网站:http://fanyi.youdao.com/
1.寻找数据
F12 进去Network 调试多次,翻译后的数据放在 Json里
@H_404_18@
调试多次 发现这三个参数会发生变化,
观察initiator发现加载的Js代码,分析代码发现加密的参数在这里
4.请求头部headers
User-Agent, Referer是必须的,另外还需要加上一个cookie值(这里不加请求错误)
5.实现代码
class youDao(object): def __init__(self, msg): self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' self.msg = msg self.lts = self.get_lts() self.salt = self.get_salt() self.sign = self.get_sign() def get_salt(self): return self.lts + str(random.randint(0, 10)) def get_sign(self): initial = 'fanyIDeskweb' + self.msg + self.salt + 'Tbh5E8=q6U3EXe+&L[4c@' # 加密前需要编码 否存可能会出现TypeError: Unicode-objects must be encoded before hashing return md5(initial.encode('utf-8')).hexdigest() def get_lts(self): return str(int(time.time() * 1000)) def get_res(self): data = { 'i': self.msg, 'from': 'auto', 'to': 'auto', 'smartresult': 'dict', 'clIEnt': 'fanyIDeskweb', 'salt': self.salt, 'sign': self.sign, 'lts': self.lts, 'bv': '3da01a09873456cfb5dba05f2124b148', 'DOCTYPE': 'Json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_CliCKBUTTION' } headers = {'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36', 'Referer': 'http://fanyi.youdao.com/', 'cookie': 'OUTFOX_SEARCH_USER_ID=-610384760@10.169.0.83'} resp = requests.post(self.url, headers=headers, data=data) return resp.Json()['translateResult'][0][0]['tgt']
亲测有效,本文章全系对技术的兴趣爱好,欢迎大家学习交流。
总结以上是内存溢出为你收集整理的Python requests抓取有道翻译 最新版破解js加密全部内容,希望文章能够帮你解决Python requests抓取有道翻译 最新版破解js加密所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)