我正在尝试使用scrapy抓取网站并将已删除的数据存储到项目类的变量中

Yog*_*h D 2 import scrapy nameerror python-2.7

我有一个蜘蛛文件dmoz_spider.py,它的对象是:

    from scrapy.spider import Spider
    from scrapy.selector import Selector
    from dmoz.items import DmozItem


    class DmozSpider(Spider):
       name = "dmoz"
       allowed_domains = ["m.timesofindia.com"]
       start_urls = ["http://m.timesofindia.com/india/Congress-BJP-spar-over-Gujarat-govts-Rs-11-per-day-poverty-line/articleshow/29830237.cms"]

       def parse(self, response):
            sel = Selector(response)
                torrent = DmozItem()
                filename = response.url.split("/")[-2]+"1.txt"
            torrent['link']  = response.url
            torrent['title']  = sel.xpath("//h1/text()").extract() 
                open(filename, 'wb').write(torrent['link'])
Run Code Online (Sandbox Code Playgroud)

第二个文件是items.py

   from scrapy.item import Item, Field

     class DmozItem(Item):
        title = Field()
        link = Field()
        desc = Field()
Run Code Online (Sandbox Code Playgroud)

当我运行我的爬虫时,我在命令行上遇到以下错误...

ImportError:没有名为dmoz.items的模块

至于什么时候我从我的蜘蛛文件中删除了import语句,它给了我错误的说法

exceptions.NameError:未定义全局名称'DmozItem'

Yog*_*h D 7

我发现问题并将其发布,以便如果任何人最终遇到类似的问题,他就可以得到答案.

在我的代码中,我正在这样做

 from dmoz.items import DmozItem
Run Code Online (Sandbox Code Playgroud)

它应该是

 from tutorial.items import DmozItem or

 from tutorial.items import *
Run Code Online (Sandbox Code Playgroud)

因为我的项目目录或包名是教程这是我之前做的错误.