问个有道翻译 web 版爬虫的问题

2018-04-03 22:55:26 +08:00
 Haku

爬了有道翻译的 web 结果,但是按照相应的接口给出参数后,只拿到了一部分的翻译结果,和 chrome 开发者模式下看到的少了一个辞典解释。如下:

这是 chrome 下看到的: {"translateResult":[[{"tgt":"你好","src":"how are you"}]],"errorCode":0,"type":"en2zh-CHS","smartResult":{"entries":["","你好\r\n"],"type":1}}

这是自己的 py 爬虫下得到的: {"translateResult":[[{"tgt":"你好","src":"how are you"}]],"errorCode":0,"type":"en2zh-CHS"}

header、data 之类的都是照抄 chrome 下看到的,但是为什么会得到不一样的结果呢???

PS:就是少了 smartResult 的部分,翻译其它的也是这样

2735 次点击
所在节点    Python
4 条回复
farverfull
2018-04-04 12:17:39 +08:00
起码贴个代码才好分析吧,估计是有 post 字段是动态的
Haku
2018-04-04 16:09:37 +08:00
@farverfull data 里面的确有动态生成的内容但那个好像和 samrtResult 的部分没啥关系
farverfull
2018-04-04 18:50:31 +08:00
@Haku 你的抓的接口不对,这个应该是老接口不需要 sign 都可以请求。
新接口: http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

还有,要先访问首页拿到 cookie 后再进行下一步,直接 set cookie 可能会失效。
s = requests.session()

另外,你这个加盐算法都找到了,也是厉害
Haku
2018-04-06 14:39:26 +08:00
@farverfull 谢谢谢谢,的确没问题了

加盐是网上找的,试了一下没有问题就直接用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444117

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX