鱼C论坛

 找回密码
 立即注册
查看: 623|回复: 2

[已解决]Python爬虫新手(有道翻译)

[复制链接]
发表于 2019-7-10 12:01:58 | 显示全部楼层 |阅读模式

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

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

x
爬取有道翻译,代码如下:
1   import urllib.request
2   import urllib.parse
3   import json

5   url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
6   content = input(print('输入你想翻译的内容:'))
7   data = {}
8   data['type'] = 'Auto'
9   data['i'] = content
10  data['doctype'] = 'json'
11  data['xmlVersion'] = '1.6'
12  data['keyform'] = 'fanyi.web'
13  data['ue'] = 'UTF-8'
14  data['typoResult'] = 'true'
15  data = urllib.parse.urlencode(data).encode('utf-8')

17  response = urllib.request.urlopen(url, data)
18  html = response.read().decode('utf-8')

20  target = json.load(html)
21  print('翻译结果为: %s'%target['translateResult'][0][0]['tgt'])


不知道哪里错了。。。报错:
Traceback (most recent call last):
  File "C:/Users/11749/Documents/python/练习_2.py", line 20, in <module>
    target = json.load(html)
  File "C:\Users\11749\AppData\Local\Programs\Python\Python35\lib\json\__init__.py", line 265, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
最佳答案
2019-7-10 14:50:50
target = json.load(html)  应该是  target = json.loads(html)
另外上面 content = input(print('输入你想翻译的内容:'))   写成  content = input('输入你想翻译的内容:') 就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-10 14:24:10 | 显示全部楼层
loads
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-10 14:50:50 | 显示全部楼层    本楼为最佳答案   
target = json.load(html)  应该是  target = json.loads(html)
另外上面 content = input(print('输入你想翻译的内容:'))   写成  content = input('输入你想翻译的内容:') 就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 13:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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