2016-04-20 23 views
0

全部。我是Scrapy的新手,遇到一些困難,試圖在同一個腳本中調用多個蜘蛛項目。我有三個Scrapy項目,它們分別抓取不同的網頁並將數據存儲到SQLite中。但我無法弄清楚如何用一個Python腳本管理項目。以下是我嘗試的: 1.我從使用CrawlerProcess的官方文檔中看到,但是此代碼無法使用管道將數據存儲到SQLite中。 下面是示例代碼:如何在一個Python腳本中運行不同的scrapy項目

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 

2.我用三個腳本調用

os.system("scrapy crawl myspider") 

和使用的總體腳本導入這三個劇本,但錯誤出現這樣的:

Unknown Command:crawl 
Use "scrapy" to see available commands 

現在我的問題是,如何在不使用「scrapy crawl XXX」的情況下在一個python腳本中調用三個不同的項目。我很困惑。 預先感謝您。

+0

在哪裏_「但這個代碼不能將數據存儲到管道中的SQLite」_來自?你在腳本中啓用了管道嗎? –

+0

我剛剛在setting.py中啓用了它們,並且不知道如何在腳本中啓用它們。在腳本文件中實現所有抓取工作似乎很困難。現在我發現運行多個蜘蛛項目的最有效方式是使用Scrapyd。感謝您的回覆:-D – ZhenLian

回答

0

Scrapyd用於運行多個蜘蛛項目。但是有一個小問題。蜘蛛項目必須在命令行停止,而我想停止我的腳本中的蜘蛛。

相關問題