2016-02-29 85 views
0

我想讓這個與Scrapy一起工作,它確實令人沮喪。我無法導入items.py文件。我已經嘗試了一切,包括加入from__future__ import absolute import,並且用幾次不同的名稱銷燬和重新創建項目和蜘蛛。在scrapy蜘蛛上導入項目時出錯

from __future__ import absolute_import 
import scrapy 
from kano.items import KanoItem 


class KatscrapSpider(scrapy.Spider): 
    name = "katscrap" 
    allowed_domains = ["kat.cr"] 
    start_urls = (
     'https://kat.cr/usearch/category%3Amusic/2/?field=seeders&sorder=desc', 
    ) 


def parse(self, response): 

    self.log("link: %s" % response.xpath(
     '//*[@id][starts-with(@id,"torrent")]/td[1]/div[1]/a[4]//@href').extract()) 
    item['torrent_url'] = response.xpath(
     '//*[@id][starts-with(@id,"torrent")]/td[1]/div[1]/a[4]//@href').extract() 

但我仍然得到:

ImportError: No module named kano.items 

這似乎是一種具有scrapy常見的錯誤的,有人可以解釋爲什麼出現這種情況?

編輯:

這是我的樹結構:

├── kano 
│   ├── __init__.py 
│   ├── __init__.pyc 
│   ├── items.py 
│   ├── pipelines.py 
│   ├── settings.py 
│   ├── settings.pyc 
│   └── spiders 
│    ├── __init__.py 
│    ├── __init__.pyc 
│    └── kat.py 
└── scrapy.cfg 
+1

什麼是您的項目的目錄結構? – Rahul

+0

我已經添加了樹到我的問題 – xavier

+0

你如何運行蜘蛛?它是'Scrapy抓取katscrap'還是'python kat.py'? – Rahul

回答

0

使用scrapy crawl katscrap在運行蜘蛛,而不是python kat.py。發生這種情況是因爲當您調用命令python kat.py時,它會在當前目錄中搜索kano模塊而不是以前的目錄。