鱼C论坛

 找回密码
 立即注册
查看: 396|回复: 6

[已解决]请教转码的问题?

[复制链接]
最佳答案
0 
发表于 2017-11-7 15:05:21 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
求助大神:我在网页上爬取了一个网页的文字并转码:urllib.request.urlopen(url).read().decode('utf-8'')
然后对这些字符进行了一系列的操作,比如分片,replace替换一些内容等等,处理好以后我用print函数是能够打印出来的.
但是,我一旦将这些文字用open函数写入txt文件就报错:
UnicodeEncodeError: 'gbk' codec can't encode character '\ufeff' in position 15: illegal multibyte sequence
更奇怪的是,同一个网站的,只有其中一个页面有问题,其他的都是正常.而且我print也将这段文字打印出来了,全部都已经只剩下中文及其标点符号,实在没有搞懂到底是那里的问题
最佳答案
2017-11-7 15:54:06
打开文件那里改一下。
给你举个例子:
  1. with open('yourtxt.txt', 'w', encoding = 'utf-8')
复制代码
加一个encoding参数,如果utf-8不行,就改成gbk
最佳答案
334 
发表于 2017-11-7 15:54:06 | 显示全部楼层    本楼为最佳答案   
打开文件那里改一下。
给你举个例子:
  1. with open('yourtxt.txt', 'w', encoding = 'utf-8')
复制代码
加一个encoding参数,如果utf-8不行,就改成gbk
最佳答案
39 
发表于 2017-11-7 16:00:55 | 显示全部楼层
是这样的
在爬取网页源码的时候,存在一个读取时的编码

在文件写入的时候,存在一个文件系统的编码,默认会自动识别,如果报错,可以考虑手动指定
指定方式可以按照楼上的方式
最佳答案
0 
 楼主| 发表于 2017-11-7 16:16:37 | 显示全部楼层
Teagle 发表于 2017-11-7 16:00
是这样的
在爬取网页源码的时候,存在一个读取时的编码

用了utf-8运行是没有问题,不过txt文件是乱码;用gbk还是报错,又如何破呢?
最佳答案
39 
发表于 2017-11-7 16:28:57 | 显示全部楼层
放源码
最佳答案
0 
 楼主| 发表于 2017-11-7 16:43:40 | 显示全部楼层

谢谢了,我本来是想把关键的几条单独弄出来分析下,运行结果是对的,看来问题出在其他地方.我再查一下
最佳答案
0 
 楼主| 发表于 2017-11-7 16:44:13 | 显示全部楼层
新手·ing 发表于 2017-11-7 15:54
打开文件那里改一下。
给你举个例子:加一个encoding参数,如果utf-8不行,就改成gbk

谢谢,方法可行!
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-18 12:37

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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