Tôi đã phát triển một vài con nhện trong mẩu hình ảnh số & mà tôi muốn thử nghiệm trên đám mây Heroku. Có ai có bất kỳ ý tưởng về việc làm thế nào để triển khai một Spider phế liệu trên đám mây Heroku?Làm thế nào để triển khai một con nhện phế liệu trên đám mây Heroku
Trả lời
Có, nó khá đơn giản để triển khai và chạy spidery của bạn trên Heroku.
Dưới đây là các bước sử dụng một dự án Scrapy thực như ví dụ:
Clone dự án (lưu ý rằng nó phải có một tập tin
requirements.txt
cho Heroku để nhận ra đó là một dự án Python):git clone https://github.com/scrapinghub/testspiders.git
Thêm cffi vào tệp requirements.txt (ví dụ: cffi == 1.1.0).
Tạo ứng dụng Heroku (điều này sẽ thêm một từ xa Heroku git mới):
heroku create
Triển khai dự án (điều này sẽ mất một thời gian lần đầu tiên, khi sên được xây dựng):
git push heroku master
Chạy nhện của bạn:
heroku run scrapy crawl followall
Một số lưu ý:
- Heroku đĩa là phù du. Nếu bạn muốn lưu trữ dữ liệu đã được cạo ở một nơi liên tục, bạn có thể sử dụng một số S3 feed export (bằng cách thêm
-o s3://mybucket/items.jl
) hoặc sử dụng một phụ trợ (như MongoHQ hoặc Redis To Go) và viết một đường ống để lưu trữ các mặt hàng của bạn tại đó - Nó sẽ là mát mẻ để chạy máy chủ Scrapyd trên Heroku, nhưng hiện tại không thể thực hiện được vì mô-đun
sqlite3
(mà Scrapyd yêu cầu) không hoạt động trên Heroku - Nếu bạn muốn có một giải pháp phức tạp hơn để triển khai trình thu thập thông tin của bạn, hãy xem xét thiết lập Scrapyd server hoặc sử dụng dịch vụ được lưu trữ như Scrapy Cloud
Tôi tin rằng 'heroku run' khởi động One-Off Dyno, điều này sẽ dẫn đến việc tốn nhiều tiền hơn. Đây có phải là lựa chọn duy nhất không? – elgehelge
@Helge một dynos tắt không tốn bất kỳ chi phí nào nhiều hơn một phút so với dynos chuẩn. –
Bạn có thể sử dụng scrapy-heroku để chạy máy chủ Scrapyd trên heroku! Đã làm việc tuyệt vời cho tôi. https://github.com/dmclain/scrapy-heroku – arctelix
scrapy-heroku được viết riêng cho mục đích này: http: //pypi.p ython.org/pypi/scrapy-heroku –