鱼C论坛

 找回密码
 立即注册
查看: 2289|回复: 4

[已解决]54课urllib.parse.urlencode(Data).encode('utf-8')编码问题

[复制链接]
发表于 2020-9-19 17:04:32 | 显示全部楼层 |阅读模式

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

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

x
代码如下:
  1. import urllib.request
  2. import urllib.parse

  3. content=input('请输入你要翻译的内容')
  4. url='https://fanyi.baidu.com/v2transapi?from=zh&to=en'
  5. Data={}
  6. Data['from']='zh'
  7. Data['to']='en'
  8. Data['query']=content
  9. Data['transtype']='translang'
  10. Data['simple_means_flag']='3'
  11. Data['sign']='144005.446900'
  12. Data['token']='60eadd34ff0bd942344ada80100c8e29'
  13. Data['domain']='common'

  14. Data=urllib.parse.urlencode(Data).encode('utf-8')
  15. response=urllib.request.urlopen(url.Data)
  16. html=response.read().decode()
  17. print(html)
复制代码



在输入翻译内容后会报错
  1. Traceback (most recent call last):
  2.   File "D:/pythonProject/爬虫/爬虫.py", line 17, in <module>
  3.     response=urllib.request.urlopen(url.Data)
  4. AttributeError: 'str' object has no attribute 'Data'
复制代码


使用type(Data)后
显示Data是bytes型
  1. type(Data)
  2. Out[8]: bytes
复制代码


请问如何解决?
最佳答案
2020-9-19 17:10:31
  1. response=urllib.request.urlopen(url,Data)
复制代码

这里应该是逗号把,不是点
貌似这样查不出
{"errno":997,"errmsg":"\u672a\u77e5\u9519\u8bef","query":"\u732a","from":"zh","to":"en","error":997}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-19 17:10:31 | 显示全部楼层    本楼为最佳答案   
  1. response=urllib.request.urlopen(url,Data)
复制代码

这里应该是逗号把,不是点
貌似这样查不出
{"errno":997,"errmsg":"\u672a\u77e5\u9519\u8bef","query":"\u732a","from":"zh","to":"en","error":997}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 17:24:34 | 显示全部楼层
应该是Data出了问题,因为使用的浏览器不同,没办法细说,我的是火狐,代码如下
  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. while True:
  5.     temp = input("请输入要翻译的文本")
  6.     url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

  7.     data = {}
  8.     data['i'] =  temp
  9.     data['client'] = 'fanyideskweb'
  10.     data['salt'] = '15933351272349'
  11.     data['sign'] = 'a356b81cb4cdfcc7d308e573bc271fcc'
  12.     data['ts'] = '1593335127234'
  13.     data['bv'] = '043c9b8297522e9a37a779af14b3350c'
  14.     data['doctype'] = 'json'
  15.     data['version'] =  '2.1'
  16.     data['keyfrom'] = 'fanyi.web'
  17.     data['action'] =  'FY_BY_REALTlME'

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

  19.     response = urllib.request.urlopen(url,data)

  20.     html = response.read().decode('utf-8')
  21.     result = json.loads(html)
  22.     print(result['translateResult'][0][0]['tgt'])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 19:18:43 | 显示全部楼层
笔记本看的眼花点和逗号都没看出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 19:21:10 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-9-19 17:24
应该是Data出了问题,因为使用的浏览器不同,没办法细说,我的是火狐,代码如下

你这个能翻译出来 我这百度翻译没用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 10:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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