在Python中使用Scrapy中的Item时编码问题

时间:2016-06-13 16:33:21

标签: python unicode encoding scrapy

我的Item类如下:

class SkeletonItem(scrapy.Item):
    name = scrapy.Field()

在spider类的parse()函数中,逻辑如下:

soup = BeautifulSoup(response.body, 'html.parser')
si = SkeletonItem()
si['name'] = li.find("div", {"class": "info-panel"}).find("h2").text.encode('utf-8')
print si['name'] # str'中文'
print si         # str'\u1234\u5678'
retirm si

正如我们所看到的,它在打印si ['name']时输出效果很好,而在打印整个si时它只显示unicode。上述现象导致的问题是,当我将si写入文件时,它只在文件中显示unicode。

有人能给我一些想法吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

我想你会找到答案here