Opracowałem kilka pająków w scrapy & Chcę przetestować te na chmurze Heroku. Czy ktokolwiek ma pojęcie o tym, jak wdrożyć spider Scrapy w chmurze Heroku?Jak wdrożyć spider Scrapy na chmurze Heroku
Odpowiedz
Tak, dość łatwo jest wdrożyć i uruchomić pająk Scrapy na Heroku.
Oto kroki wykorzystujące rzeczywisty projekt Scrapy jako przykład:
Clone projekt (należy pamiętać, że musi on mieć plik
requirements.txt
dla Heroku rozpoznać go jako projekt Python):git clone https://github.com/scrapinghub/testspiders.git
Dodaj cffi do pliku requirements.txt (np. Cffi == 1.1.0).
Tworzenie aplikacji Heroku (Spowoduje to dodanie nowego Heroku git remote):
heroku create
Wdrażanie projektu (to zajmie chwilę po raz pierwszy, gdy ślimak jest zbudowany):
git push heroku master
Uruchom swój pajęczy:
heroku run scrapy crawl followall
Kilka uwag:
- dysk Heroku jest ulotne. Jeśli chcesz przechowywać zeskrobane dane w trwałym miejscu, możesz użyć S3 feed export (przez dołączenie
-o s3://mybucket/items.jl
) lub użyć dodatku (takiego jak MongoHQ lub Redis To Go) i napisać potok do przechowywania tam swoich przedmiotów - Byłby to fajnie uruchomić serwer Scrapyd na Heroku, ale nie jest to obecnie możliwe, ponieważ moduł
sqlite3
(który wymaga Scrapyd) nie działa na Heroku - Jeśli potrzebujesz bardziej wyrafinowanego rozwiązania do rozmieszczania pająków Scrapy, zastanów się nad samodzielnym skonfigurowaniem Scrapyd server lub usługa hostowana, taka jak Scrapy Cloud
Wierzę, że "heroku run" uruchamia jednorazowe urządzenie Dyno, które spowoduje dodatkowe koszty. Czy to jedyna opcja? – elgehelge
@Hellge one off dynos nie kosztuje więcej za minutę niż standardowe dynos. –
Możesz użyć scrapy-heroku, aby uruchomić serwer Scrapyd na heroku! Pracuje dla mnie świetnie. https://github.com/dmclain/scrapy-heroku – arctelix
scrapy-heroku została napisana specjalnie w tym celu: http: //pypi.p ython.org/pypi/scrapy-heroku –