При очистке сайта с помощью scrapy в python появляется следующая ошибка: - PullRequest
0 голосов
/ 11 мая 2018

Ошибка: UnicodeEncodeError: кодек 'charmap' не может кодировать символ u '\ u201c' в позиции 0: символ отображается на

Код: # - - кодирование:utf-8 - -

import scrapy


class Spider1Spider(scrapy.Spider):
    name = 'spider_1'
    allowed_domains = ["quotes.toscrape.com"]
    start_urls = (
        'http://quotes.toscrape.com/' ,
        )

    def parse(self, response):
     x=response.xpath('//*[@class="quote"]')
     for quotes in x:
        text= x.xpath('.//*[@class="text"]/text()').extract_first()
        author= x.xpath('.//*[@class="author"]/text()').extract_first()
        Tags= x.xpath('.//*[@class="keywords"]/@content').extract_first()

        print '\ n'
        print text
        print author
        print Tags
        print '\ n'

Проблема: если я использую только extract_first, то выдает ошибку, иначе мы используем только extract.это работают штрафы.

Может кто-нибудь помочь, если я новичок в мире программирования и с нетерпением жду положительного решения.

1 Ответ

0 голосов
/ 11 мая 2018

Вам нужно .encode() ваши строки Unicode перед печатью:

print text.encode('utf-8')
print author.encode('utf-8')
print Tags.encode('utf-8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...