关于python3.x 编写爬虫的报错问题 2C

找了好几天的资料还是没能解决,拜托各位!


import urllib.error
import  urllib.request
import urllib.parse
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link HTTP/1.1'
data = {}
data['type']= 'AUTO'
data['i'] = 'I am fine !'
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
head = {}
head['User-Agent']= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'  



try:
    data = urllib.parse.urlencode(data).encode('utf-8')
    req = urllib.request.Request(url,data,head)
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')
    print(html)
except urllib.error.HTTPError as e:
    print ('Error code : ',e.code)
except urllib.error.URLError as e:
    print ('The reason: ',e.reason)



抛出异常:

图片说明

2个回答

400 请求出错 由于语法格式有误,服务器无法理解此请求。

你提交的客户端请求数据有问题,不符合格式,你可以用浏览器抓包对比一下,看有什么数据不对

u012582664
魔亦有道 我按照浏览器添加的数据啊,我在python2.x中更改导入的库不改变数据,程序也是正确的,这为什么呢
大约 3 年之前 回复

如果在windows系统可能是window防火墙的问题,关掉相关规则或者关掉防火墙可能解决问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问