鱼C论坛

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

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

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

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

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

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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-7 15:54:06 | 显示全部楼层    本楼为最佳答案   
打开文件那里改一下。
给你举个例子:
  1. with open('yourtxt.txt', 'w', encoding = 'utf-8')
复制代码
加一个encoding参数,如果utf-8不行,就改成gbk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-7 16:00:55 | 显示全部楼层
是这样的
在爬取网页源码的时候,存在一个读取时的编码

在文件写入的时候,存在一个文件系统的编码,默认会自动识别,如果报错,可以考虑手动指定
指定方式可以按照楼上的方式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-7 16:16:37 | 显示全部楼层
Teagle 发表于 2017-11-7 16:00
是这样的
在爬取网页源码的时候,存在一个读取时的编码

用了utf-8运行是没有问题,不过txt文件是乱码;用gbk还是报错,又如何破呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-7 16:28:57 | 显示全部楼层
放源码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-7 16:43:40 | 显示全部楼层

谢谢了,我本来是想把关键的几条单独弄出来分析下,运行结果是对的,看来问题出在其他地方.我再查一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-7 16:44:13 | 显示全部楼层
新手·ing 发表于 2017-11-7 15:54
打开文件那里改一下。
给你举个例子:加一个encoding参数,如果utf-8不行,就改成gbk

谢谢,方法可行!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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