Ho sviluppato alcuni ragni in scrapy & Voglio testare quelli sul cloud Heroku. Qualcuno ha qualche idea su come dispiegare un ragno Scrapy sul cloud Heroku?Come distribuire un ragno Scrapy sul cloud Heroku
risposta
Sì, è abbastanza semplice distribuire ed eseguire il tuo ragno Scrapy su Heroku.
Ecco i passaggi con un vero e proprio progetto Scrapy come ad esempio:
Clone il progetto (si noti che deve avere un file
requirements.txt
per Heroku a riconoscere come un progetto Python):git clone https://github.com/scrapinghub/testspiders.git
Aggiungere cffi al file requirement.txt (ad es. Cffi == 1.1.0).
Creare l'applicazione Heroku (questo aggiungerà un nuovo telecomando Heroku git):
heroku create
distribuire il progetto (questo richiederà un po 'la prima volta, quando la lumaca è costruito):
git push heroku master
Eseguire il ragno:
heroku run scrapy crawl followall
Alcune note:
- Heroku disco è effimera. Se si desidera archiviare i dati raschiati in una posizione persistente, è possibile utilizzare uno S3 feed export (aggiungendo) o utilizzare un addon (come MongoHQ o Redis To Go) e scrivere una pipeline per archiviare gli articoli lì
- Sarebbe cool per eseguire un server Scrapyd su Heroku, ma non è attualmente possibile perché il modulo
sqlite3
(che Scrapyd richiede) non funziona su Heroku - Se si desidera una soluzione più sofisticata per la distribuzione dei propri ragni di Scrapy, prendere in considerazione l'impostazione di Scrapyd server o utilizzando un servizio in hosting come
Credo che "heroku run" avvii una Dyno One-Off che comporterà costi maggiori. È questa l'unica opzione? – elgehelge
@Helge one off dynos non costa più al minuto dei normali dynos. –
Puoi usare scrapy-heroku per eseguire un server Scrapyd su heroku! Ha funzionato benissimo per me. https://github.com/dmclain/scrapy-heroku – arctelix
scrapy-heroku è stato scritto appositamente per questo scopo: http: //pypi.p ython.org/pypi/scrapy-heroku –