鱼C论坛

 找回密码
 立即注册
查看: 5171|回复: 12

爬虫的encode 和 decode 问题

[复制链接]
发表于 2015-6-10 21:26:03 | 显示全部楼层 |阅读模式

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

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

x
import urllib.request
import urllib.parse
import json

dict = {}

access = input('请您输入要翻译的语句:')

dict['type']='AUTO'
dict['i']=access
dict['doctype']='json'
dict['xmlVersion']=1.8
dict['keyfrom']='fanyi.web'
dict['ue']='UTF-8'
dict['action']='FY_BY_CLICKBUTTON'
dict = urllib.parse.urlencode(dict).encode('utf-8')                       这里用的encode为什么,可不可以用decode?

reson ='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/s'

answer = urllib.request.urlopen(reson,dict)

html = answer.read().decode('utf-8')                   这里的decode是否能变成encode,是不是大多数情况都用decode?

#print(html)

dit = json.loads(html)

result = dit['translateResult'][0][0]['tgt']

print(result)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-6-14 00:03:57 | 显示全部楼层
就像是 中国有汉语,外国有外语,你要先将外语翻译成汉语,才能知道要添加的汉语翻译成外语告诉外国人一样的道理...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-11 08:55:15 | 显示全部楼层
大神们,这里有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-11 10:34:09 | 显示全部楼层
你需要了解encode和decode的意思。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-11 10:40:04 | 显示全部楼层
虽然看不懂大神们说的东东,但我还是到处蹭鱼币,为了下载课后题,如果谁能发我一份 学习Python007以后 的课后题的话,那真是感激不尽了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-11 20:16:50 | 显示全部楼层
为什么这篇顶不上去呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-11 21:16:56 | 显示全部楼层
encode 是编码 decode是译码  
而网页是utf-8 ~
应该是这样的,有错的话大神请指正

评分

参与人数 1鱼币 +5 收起 理由
~风介~ + 5 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-11 22:38:06 | 显示全部楼层
这个小甲鱼说过,但是这里为什么会用这个呢 不太懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-13 22:47:31 | 显示全部楼层
沉下去了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-14 22:37:07 | 显示全部楼层
瞬秒爆加速 发表于 2015-6-14 00:03
就像是 中国有汉语,外国有外语,你要先将外语翻译成汉语,才能知道要添加的汉语翻译成外语告诉外国人一样的道 ...

您这样解释我就能懂了,但我这几句里面,怎么区分不是同一个环境下面?就是要翻译,我感觉他们都是通用的呢 ,没有看出来哪个需要翻译
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-22 15:23:59 | 显示全部楼层
一个是自带的编码你需要解码为你想要的  一个是你要给出的编码格式   不知道这样说是不是通俗一点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-10 11:06:45 | 显示全部楼层
瞬秒爆加速 发表于 2015-6-14 00:03
就像是 中国有汉语,外国有外语,你要先将外语翻译成汉语,才能知道要添加的汉语翻译成外语告诉外国人一样的道 ...

十分赞同
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-26 10:50:34 | 显示全部楼层
Unicode 编码是通用编码,Python字符串是基于Unicode编码的。
urllib.request.open函数的参数urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None),其中date是字节流bytes类型,而定义时是字符串类型,需要通过urllib.parse.urlencode进行编码。
response=url.request.open()返回的值response是字节流,调用response.read() 函数读出来的是unicode码,需要使用decode进行解码转换成可读的字符串类型。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-16 11:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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