鱼C论坛

 找回密码
 立即注册
查看: 1530|回复: 12

[已解决]0基础学python:54讲,爬虫实战,有道翻译data问题

[复制链接]
发表于 2018-2-1 13:49:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
现在有道翻译请求正文里加了salt和sign,这个是会变的,教学视频中的没有,不知道要怎么搞
最佳答案
2018-2-1 17:01:48
爬虫趣味里面最吸引人之一就是算法分析。
加密的文件是
http://shared.ydstatic.com/fanyi/newweb/v1.0.6/scripts/newweb/fanyi.min.js
可以发现下面两行
i = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),
                o = n.md5("fanyideskweb" + t + i + "aNPG!!u6sesA>hBAW1@(-");
进过分析i就是salt,t就是需要翻译的东东,o就是sign

然后就是post进行翻译了
http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
参数如下
i:123
from:zh-CHS
to:ja
smartresult:dict
client:fanyideskweb
salt:1517475530858
sign:c237bda429a18e1cbc4da5b2e4d28e39
doctype:json
version:2.1
keyfrom:fanyi.web
action:lan-select
typoResult:false

其中salt就是上面在fanyi.min.js里发现的第一行算,而sign则用第二行算出

我这里只验证了一些sign加密是否正确,完整的代码以及代码测试没有写。你可以试试。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-1 17:01:48 | 显示全部楼层    本楼为最佳答案   
爬虫趣味里面最吸引人之一就是算法分析。
加密的文件是
http://shared.ydstatic.com/fanyi/newweb/v1.0.6/scripts/newweb/fanyi.min.js
可以发现下面两行
i = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),
                o = n.md5("fanyideskweb" + t + i + "aNPG!!u6sesA>hBAW1@(-");
进过分析i就是salt,t就是需要翻译的东东,o就是sign

然后就是post进行翻译了
http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
参数如下
i:123
from:zh-CHS
to:ja
smartresult:dict
client:fanyideskweb
salt:1517475530858
sign:c237bda429a18e1cbc4da5b2e4d28e39
doctype:json
version:2.1
keyfrom:fanyi.web
action:lan-select
typoResult:false

其中salt就是上面在fanyi.min.js里发现的第一行算,而sign则用第二行算出

我这里只验证了一些sign加密是否正确,完整的代码以及代码测试没有写。你可以试试。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-2-1 17:11:46 | 显示全部楼层
json 发表于 2018-2-1 17:01
爬虫趣味里面最吸引人之一就是算法分析。
加密的文件是

(暂时看不懂,还需要研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 16:37:54 | 显示全部楼层
想问问楼主我怎么找不到From data
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 16:58:58 | 显示全部楼层
yronl 发表于 2018-2-7 16:37
想问问楼主我怎么找不到From data

from data?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 17:23:35 | 显示全部楼层

是啊,就是在哪里看doctype version什么的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 17:26:37 | 显示全部楼层

就是这些参数 我在network里面找不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 17:28:33 | 显示全部楼层
yronl 发表于 2018-2-7 17:23
是啊,就是在哪里看doctype version什么的

拿edge举例
先进开发者模式,然后发一个请求,找到请求post,看图
草图.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 18:01:23 From FishC Mobile | 显示全部楼层
如果是get的是不是就没有这些参数?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 18:12:49 | 显示全部楼层
yronl 发表于 2018-2-7 18:01
如果是get的是不是就没有这些参数?

post是发送请求
get是从服务器得到的回应
爬虫里面request是发给服务器请求,用到data
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 09:25:20 | 显示全部楼层
int_lyc 发表于 2018-2-7 18:12
post是发送请求
get是从服务器得到的回应
爬虫里面request是发给服务器请求,用到data

谢谢楼主大大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 10:13:09 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-8 13:35:23 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表