我正在做scrapy官方网站上给出的这个简单的scrapy爬虫教程,但是遇到了一些错误 . 我第一次做这件事这么完全不知道这一切 . 我需要在我的应用程序中实现网络爬虫,我发现scrapy来完成我的需求,所以从教程开始,结束我在下面粘贴的错误 . 任何人都可以解释一下代码有什么问题吗?
这是我的克拉维尔代码
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)
这是我正在犯的错误
2014-02-04 10:45:51 0530 [scrapy] DEBUG:网络服务收听0.0.0.0:6080 2014-02-04 10:45:51 0530 [dmoz] DEBUG:Crawled(200)http:// www .dmoz.org / Computers / Programming / Languages / Python / Resources />(referer:None)
错误:蜘蛛错误处理http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/> Traceback(最近一次调用最后一次):文件“/usr/lib/python2.7/dist-packages/twisted /internet/base.py“,第1178行,在mainLoop self.runUntilCurrent()文件”/usr/lib/python2.7/dist-packages/twisted/internet/base.py“,第800行,在runUntilCurrent call.func中(* call.args,** call.kw)文件“/usr/lib/python2.7/dist-packages/twisted/internet/defer.py”,第362行,在回调中self._startRunCallbacks(result)文件“/ usr / lib / python2.7 / dist-packages / twisted / internet / defer.py“,第458行,在_startRunCallbacks self._runCallbacks()--- ---文件”/usr/lib/python2.7/dist- packages / twisted / internet / defer.py“,第545行,在_runCallbacks中current.result = callback(current.result,* args,** kw)File”/usr/local/lib/python2.7/dist-packages/ scrapy / spider.py“,第56行,在解析时引发NotImplementedError exceptions.NotImplementedError:
1 回答
这个错误意味着你没有在你的蜘蛛中实现
parse
函数,另一方面根据你看来发布的代码,导致我认为你有一个缩进问题导致代码相信parse
函数不是一个部分DmozSpider类