Python 为什么我的草稿不见了?

Python 为什么我的草稿不见了?,python,scrapy,Python,Scrapy,这可能是一些基本的东西,但我找不到任何最近的(未弃用的)例子。给定以下代码 #This is the tutorial project for scrapy from scrapy.item import Item, Field class DmozItem(Item): title = Field() link = Field() desc = Field() from scrapy.spider import Spider class DmozSpider(S

这可能是一些基本的东西,但我找不到任何最近的(未弃用的)例子。给定以下代码

#This is the tutorial project for scrapy

from scrapy.item import Item, Field

class DmozItem(Item):
    title = Field()
    link = Field()
    desc = Field()

from scrapy.spider import Spider

class DmozSpider(Spider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"

    ]

    def parse(self, response):
        filename = response.url.split("/") [-2]
        open(filename, 'wb').write(response.body)
我收到了这个错误消息

jacob@Harold ~/Desktop/Scrapy_Projects/tutorial $ scrapy list
jacob@Harold ~/Desktop/Scrapy_Projects/tutorial $ scrapy crawl dmoz
2014-02-21 15:24:37-0400 [scrapy] INFO: Scrapy 0.14.4 started (bot: tutorial)
2014-02-21 15:24:37-0400 [scrapy] DEBUG: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, MemoryUsage, SpiderState
2014-02-21 15:24:37-0400 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, RedirectMiddleware, CookiesMiddleware, HttpCompressionMiddleware, ChunkedTransferMiddleware, DownloaderStats
2014-02-21 15:24:37-0400 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2014-02-21 15:24:37-0400 [scrapy] DEBUG: Enabled item pipelines: 
Traceback (most recent call last):
  File "/usr/bin/scrapy", line 4, in <module>
    execute()
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 132, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 97, in _run_print_help
    func(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 139, in _run_command
    cmd.run(args, opts)
  File "/usr/lib/python2.7/dist-packages/scrapy/commands/crawl.py", line 43, in run
    spider = self.crawler.spiders.create(spname, **opts.spargs)
  File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 43, in create
    raise KeyError("Spider not found: %s" % spider_name)
KeyError: 'Spider not found: dmoz'
jacob@Harold~/Desktop/Scrapy\u项目/教程$Scrapy列表
jacob@Harold~/Desktop/Scrapy\u项目/教程$Scrapy crawl dmoz
2014-02-21 15:24:37-0400[scrapy]信息:scrapy 0.14.4已启动(机器人:教程)
2014-02-21 15:24:37-0400[scrapy]调试:启用的扩展:LogStats、TelnetConsole、CloseSpider、WebService、CoreStats、MemoryUsage、SpiderState
2014-02-21 15:24:37-0400[scrapy]调试:启用的下载中间件:HttpAuthMiddleware、DownloadTimeoutMiddleware、UserAgentMiddleware、RetryMiddleware、DefaultHeadersMiddleware、RedirectMiddleware、Cookies中间件、HttpCompressionMiddleware、ChunkedTransferMiddleware、DownloadersStats
2014-02-21 15:24:37-0400[scrapy]调试:启用的spider中间件:HttpErrorMiddleware、OffItemIDdleware、RefererMiddleware、UrlLengthMiddleware、DepthMiddleware
2014-02-21 15:24:37-0400[scrapy]调试:启用的项目管道:
回溯(最近一次呼叫最后一次):
文件“/usr/bin/scrapy”,第4行,在
执行()
文件“/usr/lib/python2.7/dist packages/scrapy/cmdline.py”,执行中的第132行
_运行\u打印\u帮助(解析器、\u运行\u命令、cmd、args、opts)
文件“/usr/lib/python2.7/dist packages/scrapy/cmdline.py”,第97行,在“运行”和“打印”帮助中
func(*a,**千瓦)
文件“/usr/lib/python2.7/dist packages/scrapy/cmdline.py”,第139行,在_run_命令中
cmd.run(参数、选项)
文件“/usr/lib/python2.7/dist-packages/scrapy/commands/crawl.py”,第43行,运行中
spider=self.crawler.spider.create(spname,**opts.spargs)
文件“/usr/lib/python2.7/dist packages/scrapy/spidermanager.py”,第43行,在create中
raise KeyError(“未找到蜘蛛:%s”%Spider\u name)
KeyError:“未找到蜘蛛:dmoz”
我想这可能是一些非常基本的东西,我试着寻找一些例子,我可以看看是什么,但我没有找到任何我认为是最近的


提前谢谢你的帮助

您是否按照说明操作:

scrapy startproject tutorial
这将创建项目,然后将脚本保存在
tutorial/spider
目录下名为
dmoz\u spider.py
的文件中


我刚刚用你的脚本试过,效果不错。

首先,下面的代码来自一个名为items.py的python文件(在使用hwatkins提到的startproject命令后,应该遵循所有这些步骤)

下面的其余代码来自
spider.py
文件,该文件应在项目的spider文件夹中创建

此外,您还需要从dmoz导入
DmozItem
作为
。如果要在spider中使用,items会在spider中导入DmozItem


我建议您再次仔细阅读教程

您已经尝试了什么?另外,在这里发布一些代码,不要在外面链接我们。描述一下你是如何理解这个问题的。是的,我错过了将部分拆分为不同文件的部分。我确实读了几遍教程,但我显然错过了那一部分。谢谢你,很抱歉这是个愚蠢的错误。
from scrapy.item import Item, Field

class DmozItem(Item):
        title = Field()
        link = Field()
        desc = Field()