erro relativo ao importar itens em Scrapy

Rico:

Eu estou aprendendo Python e como usar Scrapy. Eu tenho raspagem " http://quotes.toscrape.com/ " e tudo funcionou bem até que eu tentei dados organizados usando itens. Parece que o erro é

from ..items import QuotetutorialItem

ImportError: attempted relative import with no known parent package"

Eu não tenho sido capaz de encontrar a maneira correta de itens de importação para que a sua ajuda seria muito apreciada!

Aqui está o código das minhas aranhas:

import scrapy
from ..items import QuotetutorialItem

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

    def parse(self, response):

         items = QuotetutorialItem()                                  
         all_div_quotes = response.css("div.quote")                   

         for quotes in all_div_quotes:                                

            title = quotes.css("span.text::text").extract()
            author = quotes.css(".author::text").extract()
            tag = quotes.css(".tag::text").extract()

            items["title"] = title
            items["author"] = author
            items["tag"] = tag

            yield items

O código de items.py:

import scrapy


class QuotetutorialItem(scrapy.Item):
    # define the fields for your item here like:
    title = scrapy.Field()
    author = scrapy.Field()
    tag = scrapy.Field()

E aqui a estrutura:

digite descrição da imagem aqui

Giorgos Myrianthous:

Por que eu geralmente conselho é para anexar o caminho de seu projeto para PYTHONPATH:

export PYTHONPATH="${PYTHONPATH}:/path/to/quotetutorial/"

e dentro do seu quotes_spider.pyuso:

from quotetutorial.items import QuotetutorialItem

Agora, se você quer pacote de importação items.pyde exemplo quotes_spider.py, o seguinte deve fazer o truque:

from quotetutorial.spiders.quotes_spider import QuotetutorialItem

Alternativamente, o seguinte também vai funcionar:

export PYTHONPATH="${PYTHONPATH}:/path/to/quotetutorial/quotetutorial/"

e depois:

from items import QuotetutorialItem

ou

from spiders.quotes_spider import QuotetutorialItem

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=285171&siteId=1
Recomendado
Clasificación