爬虫爬有道词典时遇到{"errorCode":50}错误,不删url中的"_o"的解决方法

直奔主题,看了好多帖子,对于{“errorCode”:50}的解决方法基本都是删除url中的"_o",目的大概就是绕过有道翻译的反爬虫机制,也就是salt和sign。
当url中包含"_o"的时候会自动包含如下两个参数:

salt: 1543408043480
sign: 6ffcd19f02ce3cfea51ccbc622bff27a

salt应该是根据系统时间生成的一个时间戳,
sign是以要查询的数据和salt生成的加密数据,每次查询新的单词或者中文时都需要把值和新的salt传给加密公式进行加密,因此每次的sign都不一样,导致出现{“errorCode”:50}错误。
知道问题后就可以尝试用别的方法解决{“errorCode”:50}错误了。
首先,分析有道源码后推测出加密的方法在"fanyi.min.js"文件中,如图所示:
在这里插入图片描述
打开后是一大堆人类看不懂的字符,可以用js代码格式化工具格式化一下格式化一下
格式化后的代码就好看多了,再次分析代码后可以找到如下这段:

 var r = function(e) {
        var t = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10));
        return {
            salt: t,
            sign: n.md5("fanyideskweb" + e + t + "sr_3(QOHT)L2dx#uuGR@r")
        }
    };

var t = “” + ((new Date)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值