|
5鱼币
报错AttributeError: 'str' object has no attribute 'read'怎么办?
Python 3.6.4 windows 64
import urllib.request
import urllib.parse
import json
content = input("请输入要翻译的内容:")
url = 'http://fanyi.baidu.com/translate'
data = {}
data['type'] = 'AUTO'
data['i'] = content
data['doctype'] = 'json'
data['xmlVersion'] = '1.6'
data['heyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['typoResult'] = 'true'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8') ####报错在在这里
targrt = json.load(html)
print("翻译结果:%s"%targer['translateResult'][0][0]['tgt'])
我发现问题了:1.你的URL没有对,需要的并不是浏览器的网址,而是右键审查元素里面的请求URL(或者 request URL),这个你再去看看;这个已经可以造成整个程序无法实现
2.你的变量名target 写成了targrt 和 targer(最后两行),所以如果网址对的话这里还是会报错
3.json.load(html)写错了,正确的是json.loads
好啦祝你成功。鱼币给我吧
|
最佳答案
查看完整内容
我发现问题了:1.你的URL没有对,需要的并不是浏览器的网址,而是右键审查元素里面的请求URL(或者 request URL),这个你再去看看;这个已经可以造成整个程序无法实现
2.你的变量名target 写成了targrt 和 targer(最后两行),所以如果网址对的话这里还是会报错
3.json.load(html)写错了,正确的是json.loads
好啦祝你成功。鱼币给我吧
|