【发布时间】:2014-03-19 23:24:57
【问题描述】:
我曾经这样做是为了检查 HTML 并找出 xpath:
$ scrapy shell http://www.domain.com/whatever
现在我有一个蜘蛛,它必须接收一些参数。类似的东西
$ scrapy crawl -a arg1=one MySpiderForDomainDotCom
我仍然想从命令行调用 shell。但是现在scrapy尝试使用/加载我的蜘蛛(文档说它是这样做的)并且我得到一个错误,说蜘蛛没有参数。 我的问题是当蜘蛛必须接收参数时如何从命令行调用 shell?
我已经尝试了一些东西和组合,搜索了网络,但什么都没有......
PS:scrapy 0.22.2
PS2:我不想从我的蜘蛛中调用 shell。
【问题讨论】:
-
看看doc.scrapy.org/en/latest/topics/debug.html#scrapy-shell。你可以在你的蜘蛛回调中调用 shell,你可以使用
scrapy crawl -a arg1=one MySpiderForDomainDotCom来调用它 -
我知道。我不想从我的蜘蛛调用 shell。这很痛苦。这就像测量温度一样。我不想建立一个气象站只是为了测量温度。就像我不想运行蜘蛛(它会做很多事情!)只是为了找出一些 xpath。
-
scrapy shell可以采用--spider参数,但不幸的是蜘蛛创建没有传递任何其他参数,例如与scrapy crawl相反。你可以通过调用crawler.spiders.create(spidername, **args)来做到这一点 -
Ja,这证实了不可能做我想做的事......谢谢!
标签: scrapy