python爬虫保存为txt的编码问题求解决?

Fatboy123 发布于 2013/10/07 21:10
阅读 2K+
收藏 0

代码如下:

# -*- coding: utf-8 -*-
#http://www.qiushibaike.com/8hr/page/1?s=4603425
import urllib2
from bs4 import BeautifulSoup
page=1
xiubai=open(r'xiubai.txt','w+')
for page in range(1,11):
    url="http://www.qiushibaike.com/8hr/page/"+str(page)+"?s=4603425"
    soup = BeautifulSoup(urllib2.urlopen(url).read())
    for result in soup.findAll("div", "content", title=True):
        xiubai.write(result.text)
报错:

Traceback (most recent call last):
  File "D:\python\python2.7.5\pythontest\爬虫\kanxiushibaike.py", line 13, in <module>
    xiubai.write(result.text)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-10: ordinal not in range(128)

以下是问题补充:

@Fatboy123:不用result.text 直接result虽然包含了html的部分代码但是又可以转为str。之后就可以随便用了。但是直接str(result.text)就会报同样错误 (2013/10/07 21:45)
加载中
0
JetLua
JetLua
你查一下Python文档里的decode和encode
Fatboy123
Fatboy123
谢谢,我用另外的办法实现了。其实我想把抓到的内容直接丢在自己的网页上面。
0
此号作废
此号作废
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
Fatboy123
Fatboy123

引用来自“小猫嘿嘿哈”的答案

windows下用GBK嘛
具体怎么设。
0
TomChin
TomChin
xiubai=open(r'xiubai.txt','wb+') 似乎这样就可以吧?不要说我记混了啊,各种语言稍有不同。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部