Python 2.7 Scrapy第一教程dmoz返回en错误“;类型错误:Can';不要将实现器与类一起使用。请改用其中一个类声明函数;

Python 2.7 Scrapy第一教程dmoz返回en错误“;类型错误:Can';不要将实现器与类一起使用。请改用其中一个类声明函数;,python-2.7,scrapy,dmoz,Python 2.7,Scrapy,Dmoz,运行scrapy的第一个教程时出错。 瘙痒:0.22.2 lxml:3.3.5.0 libxml2:2.7.8 扭曲:12.0.0 Python:2.7.2(默认值,2012年10月11日,20:14:37)-[GCC 4.2.1兼容Apple Clang 4.0(tags/Apple/Clang-418.0.60)] 平台:Darwin-12.5.0-x86_64-i386-64位 这是我的文件items.py: from scrapy.item import Item, Field clas

运行scrapy的第一个教程时出错。
瘙痒:0.22.2
lxml:3.3.5.0
libxml2:2.7.8
扭曲:12.0.0
Python:2.7.2(默认值,2012年10月11日,20:14:37)-[GCC 4.2.1兼容Apple Clang 4.0(tags/Apple/Clang-418.0.60)]
平台:Darwin-12.5.0-x86_64-i386-64位

这是我的文件items.py:

from scrapy.item import Item, Field
class DmozItem(Item)
    title=Field()
    link=Field()
    desc=Field()
dmoz_spider.py的我的文件: 从scrapy.spider导入BaseSpider

class DmozSpider(BaseSpider):
    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)
这是运行“scrapy crawl dmoz”时的错误消息

傻瓜-imac-2:傻瓜$scrapy crawl dmoz教程 /usr/local/share/tutorial/tutorial/spider/dmoz_spider.py:3:scrapydepreaction警告:tutorial.spider.dmoz_spider.DmozSpider继承自不推荐的类scrapy.spider.BaseSpider,请继承自scrapy.spider.spider。(警告仅在第一个子类上,可能还有其他)类DmozSpider(BaseSpider):

2014-06-19 14:53:00-0500[scrapy]信息:scrapy 0.22.2已启动(机器人:教程)
2014-06-19 14:53:00-0500[scrapy]信息:可选功能:ssl、http11
2014-06-19 14:53:00-0500[scrapy]信息:覆盖的设置:{'NEWSPIDER_模块':'tutorial.SPIDER','SPIDER_模块':['tutorial.SPIDER'],'BOT_NAME':'tutorial'} 2014-06-19 14:53:00-0500[scrapy]信息:启用的扩展:LogStats、TelnetConsole、CloseSpider、WebService、CoreStats、SpiderState
回溯(最近一次呼叫最后一次):

文件“/usr/local/bin/scrapy”,第5行,在pkg_资源中。运行脚本('scrapy==0.22.2','scrapy')
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/pkg_resources.py”,第489行,运行脚本self.require(requires)[0]。运行脚本(脚本名称,ns)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/pkg_resources.py”,第1207行,在run_脚本执行文件(脚本文件名、名称空间、名称空间)中
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/egg-INFO/scripts/Scrapy”,第4行,在execute()中
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/cmdline.py”,执行中的第143行 _运行打印帮助(解析器、运行命令、cmd、args、opts)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/cmdline.py”,第89行,在“运行”和“打印”帮助中 func(*a,**kw)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/cmdline.py”,第150行,在_run_命令中 命令运行(参数,选项)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/commands/crawl.py”,第50行,运行中 self.crawler\u process.start()
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/crawler.py”,第92行,开头 如果self.start_crawling():
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/crawler.py”,第124行,开始爬网 返回自我。_start_crawler()不是None
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/crawler.py”,第139行,在“开始爬虫程序”中 crawler.configure()
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/crawler.py”,第47行,在configure中 self.engine=执行引擎(self,self.\u spider\u closed)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/engine.py”,第63行,在init self.downloader=下载器(爬虫)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/downloader/init.py”,第73行,在init self.handlers=下载处理程序(爬虫程序)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/downloader/handlers/init.py”,第18行,在init cls=加载对象(clspath)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/utils/misc.py”,第40行,在load_对象中 mod=导入模块(模块)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/init.py”,第37行,在导入模块中 导入(名称)
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/downloader/handlers/s3.py”,第4行,在 从.http导入HTTPDownloadHandler
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/downloader/handlers/http.py”,第5行,在 从.http11将HTTP11DownloadHandler作为HTTPDownloadHandler导入
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/core/downloader/handlers/http11.py”,第15行,in 来自scrapy.xlib.tx进口代理、代理、响应单,\
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/xlib/tx/init.py”,第6行,在 从…起导入客户端、端点
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/xlib/tx/client.py”,第37行,在 from.endpoints导入TCP4ClientEndpoint、SSL4ClientEndpoint
文件“/Library/Python/2.7/site packages/Scrapy-0.22.2-py2.7.egg/Scrapy/xlib/tx/endpoints.py”,第222行,在 interfaces.IProcessTransport,“\u进程”):
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/zope/interface/declarations.py”,第495行,调用 raise TypeError(“不能将实现者与类一起使用。请使用”
TypeError:无法将implementer与类一起使用。请改用类声明函数之一


尝试更新zope,然后运行代码

sudopip安装——升级zope.interface


sudo easy\u install——升级zope.interface

我已经尝试过了。它是最新的。我已经尝试过升级