簡體   English   中英

Scrapy 導入錯誤:沒有名為 Item 的模塊

[英]Scrapy ImportError: No module named Item

我知道這個問題已經被廣泛討論,但我沒有找到答案。 我收到錯誤ImportError: No module named items 我用$ scrapy startproject pluto創建了一個新項目,我沒有相同的名稱(在項目名稱、類名稱等方面),以避免命名問題

pluto_spider.py :

import scrapy
from items import PlutoItem

class PlutoSpider(scrapy.Spider):
  name = "plutoProj"

  allowed_domains = ['successories.com']
  start_urls = [
        'http://www.successories.com/iquote/category/39/inspirational-quotes/4',
        'http://www.successories.com/iquote/category/39/inspirational-quotes/6',
        ]

def parse(self,response):

  items = []

  for quote in response.css('div.quotebox'):
    item = PlutoItem()
    item['author'] =  quote.css('span.author a::text').extract_first()
    item['quote'] = quote.css('div.quote a::text').extract_first()
    items.append(item)
    return items

項目.py

import scrapy

class PlutoItem(scrapy.Item):
  author = scrapy.Field()
  quote = scrapy.Field()

這是我的文件夾的層次結構:

/pluto
/pluto/scrapy.cfg
/pluto/pluto/__init__.pyc
/pluto/pluto/__init__.py
/pluto/pluto/items.py
/pluto/pluto/pipelines.py
/pluto/pluto/settings.py
/pluto/pluto/settings.pyc
/pluto/pluto/spiders/__init__.py
/pluto/pluto/spiders/__init__.pyc
/pluto/pluto/spiders/pluto_spider.py
/pluto/pluto/spiders/pluto_spider.pyc

看起來您的items.pypluto_spider.py處於不同級別。 您應該根據PEP 328進行from pluto import items或 relative import import ..items導入以導入模塊。

如果你想from pluto.items import PlutoItem

首先,確保從項目的頂級目錄中執行 Scrapy 命令

或者您也可以嘗試將導入更改為:

from pluto.items import PlutoItem

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM