data['salt'] = '1493538230701'  这个应该是个时间戳,
data['sign'] = '7b50be5ddda95bce3d4b7b9404647cec' 应该是根据时间戳+你要翻译的内容加密后生成的验证字段。
除非你知道网站的加密方法,不然基本上是破解不了的,所以你直接这样爬是爬不到的,只会返回给你一个错误代码。
解决办法有2个:
1. 同样是有道翻译,url和data用下面这个
-     url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc'
 -     data = {
 -         "type" : "AUTO",
 -         "i" : sentence,
 -         "doctype" : "json",
 -         "xmlVersion" : "1.8",
 -         "keyfrom" : "fanyi.web",
 -         "ue" : "UTF-8",
 -         "action" : "FY_BY_CLICKBUTTON",
 -         "typoResult" : "true"
 -     }
 
 复制代码
这个是不需要验证字段的,所以可以直接爬。
2.如果你一定要爬你这个页面的话,那就用selenium+phantomjs模拟浏览器,也是可以爬到的,但是速度会比较慢一些。