鱼C论坛

 找回密码
 立即注册
查看: 3216|回复: 15

求助关于网页解码的问题.

[复制链接]
发表于 2015-8-13 15:59:40 | 显示全部楼层 |阅读模式

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

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

x
这2天 在爬小说玩.在对网页进行decode的时候 遇到了问题
有的网页里面包含一些特殊字符之类的东西
没法用网页声明的编码进行解码
这个问题应该如何解决?

比如这样
1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-13 16:25:38 | 显示全部楼层
发代码。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 16:33:47 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2015-8-13 16:44:55 | 显示全部楼层
本帖最后由 fre 于 2015-8-13 16:49 编辑


代码来了

  1. import urllib.request
  2. html = urllib.request.urlopen('http://www.kanunu8.com/files/terrorist/201102/1478/33582.html')
  3. html = html.read().decode('gb2312')
复制代码


http://www.kanunu8.com/files/terrorist/201102/1478/33581.html
http://www.kanunu8.com/files/terrorist/201102/1478/33582.html

2个网址 同一个网站同一本小说的2个章节 上一个章节可以 下一个章节就没法decode了 错误信息显示某个字符没法用gb2312来decode

看 这是运行图片

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

使用道具 举报

发表于 2015-8-13 16:48:46 | 显示全部楼层

用gbk解码,gb2312都用gbk解码。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 16:53:28 | 显示全部楼层
wei_Y 发表于 2015-8-13 16:48
用gbk解码,gb2312都用gbk解码。

好吧..gbk解码果然没问题..那么其他时候有没有可能还会遇到这种情况? 网页编码不统一?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-13 16:57:45 | 显示全部楼层
fre 发表于 2015-8-13 16:53
好吧..gbk解码果然没问题..那么其他时候有没有可能还会遇到这种情况? 网页编码不统一?

一般好像都用的utf-8和gb2312吧,要是遇到奇葩的先用它写的解码看看,不行的话只能一个个试了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 18:54:43 | 显示全部楼层
wei_Y 发表于 2015-8-13 16:57
一般好像都用的utf-8和gb2312吧,要是遇到奇葩的先用它写的解码看看,不行的话只能一个个试了。。

愁啊... 又遇到gbk没法decode了

怎么能避免出错呢?
写个try: 如果gbk出错就调用gb2312 如果gb2312出错就调用gbk?
好像一点都不优雅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-13 18:58:46 | 显示全部楼层
fre 发表于 2015-8-13 18:54
愁啊... 又遇到gbk没法decode了

怎么能避免出错呢?

不会吧,gb2312能解码的gbk一定能解码吧。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 18:59:36 | 显示全部楼层
wei_Y 发表于 2015-8-13 16:57
一般好像都用的utf-8和gb2312吧,要是遇到奇葩的先用它写的解码看看,不行的话只能一个个试了。。

遇到一个字符 gbk gb2312都没法解码..我了个大去....

求指点

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

使用道具 举报

发表于 2015-8-13 19:07:21 | 显示全部楼层
fre 发表于 2015-8-13 18:59
遇到一个字符 gbk gb2312都没法解码..我了个大去....

求指点

还有一个gb18030编码,测试成功。- -。编码就是恶心。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 19:08:21 | 显示全部楼层
wei_Y 发表于 2015-8-13 19:07
还有一个gb18030编码,测试成功。- -。编码就是恶心。。

我了个大去.... 谢了  明天我找找编码的资料看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-13 19:09:23 | 显示全部楼层
fre 发表于 2015-8-13 19:08
我了个大去.... 谢了  明天我找找编码的资料看看

可能用gbk不能解码的原因是近几年有更新而python没有更新吧。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 19:11:23 | 显示全部楼层
wei_Y 发表于 2015-8-13 19:09
可能用gbk不能解码的原因是近几年有更新而python没有更新吧。。

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

使用道具 举报

发表于 2015-8-13 19:13:26 | 显示全部楼层

刚才查了查,才明白,用gb18030应该万无一失了。
http://zhidao.baidu.com/link?url ... qKBkvpAIHgLJMdk9AYy
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 19:14:50 | 显示全部楼层
wei_Y 发表于 2015-8-13 19:13
刚才查了查,才明白,用gb18030应该万无一失了。
http://zhidao.baidu.com/link?url=Pn1BxpSAeJWTDcNfFA ...

soga gb18030兼容gbk和gb2312 以后就用这个了~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-17 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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