python爬取有道翻译出错 {‘errorcode’:50}

import urllib.request
import urllib.parse


url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
key=input("请输入需要翻译的文字:")
formdata ={
    "i": key,
    "from": "AUTO",
    "to": "AUTO",
    "smartresult": "dict",
    "client": "fanyideskweb",
    "salt": "1537698317221",
    "sign": "b569c8bf54bf1b0d71725726e7c1a5",
    "doctype": "json",
    "version": "2.1",
    "keyfrom": "fanyi.web",
    "action": "FY_BY_REALTIME",
    "typoResult": "false"
    }
headers={ "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}
data = urllib.parse.urlencode(formdata).encode(encoding='gbk')

request = urllib.request.Request(url,data=data, headers = headers)

repost = urllib.request.urlopen(request)

html=repost.read().decode("utf-8")
print(html)

 

 

 

将在审查元素中获得的url中translate后面的_o去掉,错误就消失了,可以正常爬取。

data除了doctype键和i键不能去掉,其余的即使删除了也能正常运行翻译。[此行待验证]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值