鱼C论坛

 找回密码
 立即注册
查看: 922|回复: 1

求助 零基础学习python 55集 加上 headers 就报错误

[复制链接]
发表于 2018-6-15 16:48:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
零基础学习python 第55集 加 headers 报错
  1. import urllib.request
  2. import urllib.parse
  3. import json

  4. content = input('请输入要翻译的内容:')
  5. url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  6. #head ={}
  7. #head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'

  8. data = {}
  9. data['i'] = 'content'
  10. data['from'] =  'AUTO'
  11. data['to'] = 'AUTO'
  12. data['smartresult'] = 'dict'
  13. data['client'] = 'fanyideskweb'
  14. data['salt'] = '1529048611093'
  15. data['sign'] = '623083b70ced828dddff47109273f23c'
  16. data['doctype'] = 'json'
  17. data['version'] = '2.1'
  18. data['keyfrom'] =  'fanyi.web'
  19. data['action'] = 'FY_BY_CLICKBUTTION'
  20. data['typoResult'] =  'false'

  21. data = urllib.parse.urlencode(data).encode('utf-8')

  22. response = urllib.request.urlopen(url,data)
  23. response.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36')
  24. html = response.read().decode('utf-8')
  25. target = json.loads(html)

  26. print('翻译的结果是:%s'%( target['translateResult'][0][0]['tgt']))
复制代码

  1. ====================== RESTART: C:\Python36-32\有道词典.py ======================
  2. 请输入要翻译的内容:爱
  3. Traceback (most recent call last):
  4.   File "C:\Python36-32\有道词典.py", line 27, in <module>
  5.     response.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36')
  6. AttributeError: 'HTTPResponse' object has no attribute 'add_header'
  7. >>>
复制代码


报这个错误 这个是怎么回事啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-15 20:07:14 | 显示全部楼层
本帖最后由 凌九霄 于 2018-6-15 20:42 编辑

两处错误

  1. import urllib.request
  2. import urllib.parse
  3. import json

  4. content = input('请输入要翻译的内容:')
  5. url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  6. head = {
  7.     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
  8.     }
  9. data = {}
  10. data['i'] = content    #这里误加引号
  11. data['from'] = 'AUTO'
  12. data['to'] = 'AUTO'
  13. data['smartresult'] = 'dict'
  14. data['client'] = 'fanyideskweb'
  15. data['salt'] = '1529048611093'
  16. data['sign'] = '623083b70ced828dddff47109273f23c'
  17. data['doctype'] = 'json'
  18. data['version'] = '2.1'
  19. data['keyfrom'] = 'fanyi.web'
  20. data['action'] = 'FY_BY_CLICKBUTTION'
  21. data['typoResult'] = 'false'

  22. data = urllib.parse.urlencode(data).encode('utf-8')


  23. request = urllib.request.Request(url,data)    #注意这里。也可以直接 request = urllib.request.Request(url,data,head)  那么下面就不用add_header了
  24. request.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36')  
  25. response = urllib.request.urlopen(request)


  26. html = response.read().decode('utf-8')
  27. target = json.loads(html)

  28. print('翻译的结果是:%s' % (target['translateResult'][0][0]['tgt']))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 20:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表