gpt4 book ai didi

python - 如何定义 scrapy shell 使用哪个蜘蛛?

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:53 26 4
gpt4 key购买 nike

我正在尝试使用 Scrapy shell 测试一些 XPath,但它似乎在调用我不完整的蜘蛛模块来进行抓取,这不是我想要的。有没有一种方法可以定义哪个蜘蛛 scrapy 与其外壳一起使用?更重要的是,为什么 Scrapy 这样做;它不应该知道蜘蛛还没有准备好使用吗?这就是我使用 shell 的原因,对吗?否则我会使用

scrapy crawl spider_name

如果我想使用特定的蜘蛛。

编辑:在查看了 Spider 文档之后,我发现了以下对 shell 中使用的蜘蛛实例的描述。

spider - 已知处理 URL 的 Spider,如果没有找到当前 URL 的 spider,则为 BaseSpider 对象

这意味着,scrapy 已将 URL 与我的蜘蛛相关联,并且正在使用它而不是 BaseSpider。不幸的是,我的蜘蛛还没有准备好进行测试,那么有没有办法强制它使用 BaseSpider 作为 shell?

最佳答案

Scrapy 根据 allowed_domains 属性自动选择蜘蛛。如果给定域有多个蜘蛛,Scrapy 将使用 BaseSpider

但是,它只是一个 python shell,你可以实例化任何你想要的蜘蛛。

>>> from myproject.spiders.myspider import MySpider>>> spider = MySpider()>>> spider.parse_item(response)

编辑:作为使用蜘蛛的解决方法,您可以设置allowed_domains = []

关于python - 如何定义 scrapy shell 使用哪个蜘蛛?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6559670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com