【发布时间】:2016-03-20 01:50:40
【问题描述】:
Class Myspider1
#do something....
Class Myspider2
#do something...
以上是我的 spider.py 文件的架构。我试图先运行 Myspider1,然后根据某些条件多次运行 Myspider2。我怎么能这样做???有小费吗?
configure_logging()
runner = CrawlerRunner()
def crawl():
yield runner.crawl(Myspider1,arg.....)
yield runner.crawl(Myspider2,arg.....)
crawl()
reactor.run()
我正在尝试使用这种方式。但不知道如何运行它。我应该在 cmd 上运行 cmd(什么命令?)还是只运行 python 文件??
非常感谢!!!
【问题讨论】:
-
您只需运行 python 脚本本身。这就是 CrawlerProcess + CrawlerRunner 类的构建目的。但请明确你所说的条件。这些条件是在运行脚本之前定义的,还是在第一个 Spider 类的运行期间/从运行中检索到这些条件?
-
感谢回复,对于这两个蜘蛛,第一个蜘蛛Myspider1负责爬取一系列链接,第二个蜘蛛Myspider2负责爬取之前链接中缺失的链接(links在 Spider1 中使用),所以我必须先运行第一个蜘蛛,一旦它关闭,查找是否缺少任何 url,然后选择是否打开 spider2..
标签: python scrapy web-crawler scrapy-spider