python utf-8 编码问题
content 是utf-8 的编码 ,
print title 也可以正确打印出中文 ,但是 一放到sub 里面 就变成\xe6\x8b\x9b\xe8\x81\x98\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7
写入到文件也是这个 ,我想直接是存中文,应该怎么操作
def get_content(content): bbs_index = [] soup = BeautifulSoup(content) items = soup.findAll('item') for x in items: item = (x) title = item.find('title').renderContents() print title link = item.find('link').renderContents()# print link author = item.find('author').renderContents() print author description = item.find('description').renderContents()# print description sub = [title ,link ,author] print sub# bbs_index.append( sub) return bbs_index
sub = [title ,link ,author]print sub
[解决办法]
是要一个个取出,不过写代码不一定就得用for或下标,譬如写入的数据用tab区隔最后回车就:
f.write('\t'.join(sub))
f.write('\n')
[解决办法]
要写入utf-8编码的文件:
import codecsout = codecs.open('filename', 'wb', encoding='utf-8')out.write(...)out.close()