【发布时间】:2011-07-02 21:20:11
【问题描述】:
我正在尝试使用 Scrapy shell 测试一些 XPath,但它似乎在调用我不完整的蜘蛛模块来进行抓取,这不是我想要的。有没有办法定义哪个蜘蛛scrapy 使用它的外壳?更何况,Scrapy 为什么要这么做?它不应该知道蜘蛛还没有准备好使用吗?这就是我使用shell的原因吗?否则我会使用
scrapy crawl spider_name
如果我想使用特定的蜘蛛。
编辑:在查看了 Spider 文档之后,我找到了以下关于 shell 中使用的蜘蛛实例的描述。
spider - 已知处理 URL 的 Spider,如果没有为当前 URL 找到蜘蛛,则为 BaseSpider 对象
这意味着,scrapy 已经将 URL 与我的蜘蛛关联起来,并且正在使用它而不是 BaseSpider。不幸的是,我的蜘蛛还没有准备好进行测试,那么有没有办法强制它使用 BaseSpider 作为外壳呢?
【问题讨论】:
-
如果您正在尝试调试您的蜘蛛,您可能希望查看文档的这一部分:doc.scrapy.org/topics/…
-
我不是在调试我的蜘蛛,而是调试一个 XPath。这是使用 Scrapy shell 完成的,但 shell 似乎正在创建我定义的蜘蛛的实例,而不是默认的 BaseSpider 类。
-
@ThomasK 网址现在不可用:(
-
@Weixiao.Fan:他们似乎对文档进行了一些重组。试试这个:doc.scrapy.org/en/0.12/topics/…
标签: python scrapy web-crawler