鱼C论坛

 找回密码
 立即注册
查看: 1242|回复: 8

[已解决]小甲鱼python55讲,求大佬帮忙修改一下代码。

[复制链接]
发表于 2020-5-6 09:39:09 | 显示全部楼层 |阅读模式

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

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

x
import urllib.request
import urllib.parse

content = input("请输入需要翻译的内容:")

url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=null'
head = {}
head['User-Agent']= 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'

data = {}
date['i'] = 'content'
date['from']= 'AUTO'
date['to']= 'AUTO'
date['smartresult']= 'dict'
date['client']= 'fanyideskweb'
date['salt']= '15887282099161'
date['sign']= 'c44ee409735645b76958ecd9c031902f'
date['ts']='1588728209916'
date['bv']= 'b016bfc8dd420bcfc5d5a95c5a1600f4'
date['doctype']= 'json'
date['version']= '2.1'
date['keyfrom']= 'fanyi.web'
date['action']: 'FY_BY_CLICKBUTTIONdata'

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

print(html)





出错:Traceback (most recent call last):
  File "C:\Users\Milk\Desktop\python\1.py", line 11, in <module>
    date['i'] = 'content'
NameError: name 'date' is not defined


求大佬教一下怎么修改,使程序可以运行。
最佳答案
2020-5-6 09:48:42
1. 拼写错误,data 错写成了 date
2. 等于号写成了冒号
3. data 需要先转化为二进制才可以传给 urlopen
4. URL 需要去掉 _o 才可以正常爬取

代码帮你改好了:
import urllib.request
import urllib.parse

content = input("请输入需要翻译的内容:")

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=null'
head = {}
head[
    'User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' \
                    'Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'

data = {}
data['i'] = 'content'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15887282099161'
data['sign'] = 'c44ee409735645b76958ecd9c031902f'
data['ts'] = '1588728209916'
data['bv'] = 'b016bfc8dd420bcfc5d5a95c5a1600f4'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTIONdata'

response = urllib.request.urlopen(url, urllib.parse.urlencode(data).encode('utf-8'))
html = response.read().decode('utf-8')

print(html)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-6 09:46:37 | 显示全部楼层
本帖最后由 wuqramy 于 2020-5-6 09:51 编辑

这个
data = {}
不是date吗,改一下就OK
还有其他问题,见5楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:46:52 | 显示全部楼层
字典定义的是data,为啥变成date了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:48:41 | 显示全部楼层
字典名错了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:48:42 | 显示全部楼层    本楼为最佳答案   
1. 拼写错误,data 错写成了 date
2. 等于号写成了冒号
3. data 需要先转化为二进制才可以传给 urlopen
4. URL 需要去掉 _o 才可以正常爬取

代码帮你改好了:
import urllib.request
import urllib.parse

content = input("请输入需要翻译的内容:")

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=null'
head = {}
head[
    'User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' \
                    'Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'

data = {}
data['i'] = 'content'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15887282099161'
data['sign'] = 'c44ee409735645b76958ecd9c031902f'
data['ts'] = '1588728209916'
data['bv'] = 'b016bfc8dd420bcfc5d5a95c5a1600f4'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTIONdata'

response = urllib.request.urlopen(url, urllib.parse.urlencode(data).encode('utf-8'))
html = response.read().decode('utf-8')

print(html)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:49:12 | 显示全部楼层
wuqramy 发表于 2020-5-6 09:46
这个

不是date吗,改一下就OK

确定改一下就 OK??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:50:25 | 显示全部楼层
zltzlt 发表于 2020-5-6 09:49
确定改一下就 OK??

哦!
没仔细看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 10:12:09 | 显示全部楼层
zltzlt 发表于 2020-5-6 09:48
1. 拼写错误,data 错写成了 date
2. 等于号写成了冒号
3. data 需要先转化为二进制才可以传给 urlopen

谢谢大佬。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 10:19:04 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-21 01:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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