неопределенный юникод в python3 - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь следовать документам scrapy в scrapy (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

` это влияет на мой scrap Item Loader, когда я использую (такая же ошибка происходит)

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

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

пример из документации по scrapy довольно прост, но я получаю эту ошибку, потому что я использую python3?

1 Ответ

1 голос
/ 28 июня 2019

в python2.x:

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

в python3.x:

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

Python 3 переименовал тип юникода в str, старый тип str был заменен переименованием байтоввхождения Unicode с str будут работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...