python请求有道翻译

本文介绍了如何使用Python请求有道翻译API。通过分析网页开发者工具中的网络请求,发现翻译请求为POST,涉及的参数包括salt、sign、ts和bv。salt基于时间戳,sign涉及加密算法,bv依赖于浏览器版本信息。通过JavaScript解析加密过程,并尝试在Python中复现,但遇到返回error 50的问题,寻求解决方案。
摘要由CSDN通过智能技术生成

首先先打开网址
在这里插入图片描述
国际惯例,输入单词按下F12打开开发者工具,定位到network xhr
在这里插入图片描述
发现是个POST请求数据,
在这里插入图片描述
我们只要构建这些请求参数就可以,多请求几次,发现有4个参数需要破解
1.salt
2.sign
3.ts
4.bv
先从salt开始,看这种请求格式我们知道这是一个时间戳样式
先不用管,看看sign参数按住ctrl+shift+f调出search输入sign查找
出来一个js文件
在这里插入图片描述
双击打开
在这里插入图片描述
点击左下的格式化输出。
按住ctrl+f查找sign,共查出15个,如果你稍微懂点JS的话,你就可以一个一个看,不懂的话可以全部打上断点。
我定位到这里打上断点
在这里插入图片描述
点击翻译。
在这里插入图片描述
由此可知,e就是我们输入的单词,这些就是加密算法
如果你会js直接按照这个写个js,再用PyExecJS调用就可以了,不会咋办呢,只有慢慢分析了
r 为获取系统当前时间戳转化为字符串
python也可以
在这里插入图片描述
然后拼接i
在这里插入图片描述
然后就是sign是一个MD5加密
在这里插入图片描述
然后bv,bv是通过navigator.appVersion加密得来的而这个就是浏览器版本信息。
在这里插入图片描述
然后可以写代码了

import requests
import time, hashlib, math, rand
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值