我正在編寫一個使用Scrapy和本地所有工程很好的Django Web應用程序,但我不知道如何建立一個生產環境,我的蜘蛛定期自動啓動(我的意思是一次蜘蛛完成它的工作,在一定時間後重新啓動......例如24小時後)。 目前我使用自定義Django的命令,它具有允許使用Django的ORM存儲刮下項目的主要目標發動我的蜘蛛,所以我跑:生產中的Scrapy + Django
python manage.py scrapy crawl myspider
和結果存儲在我的Postgres數據庫。 我安裝scrapyd,因爲它似乎是在生產中運行scrapy 的首選方式,但不幸的是我不能在沒有編寫猴子補丁(我想避免)的情況下使用它,因爲它將JSON用於其Web服務API和我得到「modelX不是JSON序列化」的例外。 我看了看django-dynamic-scraper,但它似乎沒有被設計成靈活和可定製的Scrapy是,事實上在文檔他們說:
因爲它簡化了事情DDS並不適用於所有類型的 刮削器使用,但是它是非常適合的 比較常見的情況經常刮網站,更新的項目
我也想過用crontab來安排我的蜘蛛列表......但是在什麼區間,我應該跑我的蜘蛛?如果我的EC2實例(我將使用亞馬遜web服務託管我的代碼)需要重新啓動,我必須手動重新運行我的所有蜘蛛... mmmh ...事情變得複雜... 那麼...什麼可以成爲生產環境的有效設置?你如何處理它?你有什麼建議?