所有。我是Scrapy的新手,遇到了一些尝试在同一个脚本中调用多个蜘蛛项目的困难。我有三个Scrapy项目,它们分别抓取不同的网页并将数据存储到SQLite中。但我无法弄清楚如何使用一个Python脚本来管理项目。这是我尝试过的: 1.我从使用CrawlerProcess的官方文档中看到,但是这段代码无法通过管道将数据存储到SQLite中。 以下是示例代码:
> bar
ID Val Geom1 Geom2 Geom3
1.1 1 A X11 Y11 Z11
1.2 1 A X12 Y12 Z12
1.3 1 A X13 Y13 Z13
2.1 2 B X21 Y21 Z21
2.2 2 B X22 Y22 Z22
2.3 2 B X23 Y23 Z23
2.我使用了三个脚本来调用
import scrapy
from scrapy.crawler import CrawlerProcess
class MySpider1(scrapy.Spider):
# Your first spider definition
...
class MySpider2(scrapy.Spider):
# Your second spider definition
...
process = CrawlerProcess()
process.crawl(MySpider1)
process.crawl(MySpider2)
process.start() # the script will block here until all crawling jobs are finished
并使用整个脚本导入这三个脚本,但错误如下:
os.system("scrapy crawl myspider")
现在我的问题是,如何在一个python脚本中调用三个不同的项目,而不使用“scrapy crawl XXX”。我真的很困惑。 提前谢谢。
答案 0 :(得分:0)
Scrapyd用于运行多个蜘蛛项目。但是有一个小问题。必须在命令行中停止蜘蛛项目,而我想在脚本中停止蜘蛛。