Класс в Item не может быть распознан после создания программы Python Scrapy - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь построить скрап-проект по книге.После использования команд 'scopy startproject / cd tutorial / scrapy genspider quotes quotes.toscrape.coom' и добавления функции синтаксического анализа и изменения элементов, код детали как товарищ:

quotes.py:

import scrapy

from tutorial.items import QuoteItem


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

    def parse(self, response):
        quotes = response.css('.quote')
        for quote in quotes:
            item = QuoteItem()
            item['text'] = quote.css('.text::text').extract_first()
            item['author'] = quote.css('.author::text').extract_first()
            item['tags'] = quote.css('.tags .tag::text').extract()
            yield item

        next = response.css('.pager .next a::attr(href)').extract_first()
        url = response.urljoin(next)
        yield scrapy.Request(url=url, callback=self.parse)

items.py:

import scrapy


class QuoteItem(scrapy.Item):

    text = scrapy.Field()
    author = scrapy.Field()
    tags = scrapy.Field()

Класс quoteItem не может быть распознан в quotes.py сообщение об ошибке

И после того, как я изменился на 'из tutorial.tutorial.items импортируйте QuoteItem 'и запускайте' цитаты сканирования сканирования ', есть еще одна ошибка: ошибка снова

И это привело к тому, что результаты не могут быть сохранены.Кто-то может помочь, заранее спасибо.

1 Ответ

0 голосов
/ 01 октября 2018

Работает нормально с этим кодом !!попробуйте использовать scrapy runspider yourspiderfile.py вместо scrapy crawl. В коде нет ошибок.

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