python3中未定义的unicode

时间:2019-06-28 15:03:53

标签: python-3.x unicode scrapy

我正试图严格遵守scrapy docs(python3) 使用刮板外壳“ any_website”

from scrapy.loader.processors import MapCompose, Join
MapCompose(unicode.strip)([u' I',u' am\n'])

我收到此错误`Traceback(最近一次通话最近):

  File "/usr/lib/python3.6/code.py", line 91, in runcode
    exec(code, self.locals)
  File "<console>", line 1, in <module>
NameError: name 'unicode' is not defined

` 这会在我使用时影响我的不便物品加载器(发生相同错误)

 l = ItemLoader(item=PropertiesItem(), response=response)

 l.add_xpath('title', '//*[@itemprop="name"][1]/text()',MapCompose(unicode.strip, unicode.title))

关于草率文档的示例非常简单,但是我收到此错误,是因为我使用python3吗?

1 个答案:

答案 0 :(得分:1)

在python2.x中:

item = unicode(item, 'utf-8')

在python3.x中:

item = str(item.encode('utf-8'))

Python 3将unicode类型重命名为str,旧的str类型已被字节替换 用str重命名unicode出现会起作用