python爬取有道翻译

有道翻译网站: http://fanyi.youdao.com/ 

在翻译栏输入 I Love You Baby  然后f12 点击翻译

在headers里 的Request URL: 是请求地址:

这里是:http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

注意下这里的请求地址translate_o  而在实际python写的时候 _o 不能要不然会报错.

下面看一下salt 和 sign的取法

点击第四个js,点击下面的{} 格式化代码,搜索salt ,这里有三个,可以打断点,然后点击翻译,看具体在哪个地方停.

这里可以看到 salt是个时间戳,sign 是由 s n r o 组合的 MD5加密

所有参数搞清,下面测试代码

import urllib.request
import urllib.parse
import time
import random
import hashlib
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = {}
i = 'I lov you baby'
data['i']=i
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTIME'
data['typoResult']='false'
u = 'fanyideskweb'
f = str(int(time.time()*1000)+random.randint(1,10))
c = "ebSeFb%=XZ%T[KZ)c(sy!"
sign = hashlib.md5((u+i+f+c).encode('utf-8')).hexdigest()
data['salt']=f
data['sign']=sign
data= urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url,data)
html =  response.read().decode('utf-8')
print(html)
 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值