如何在Heroku云上部署Scrapy蜘蛛

Ani*_*dha 10 python heroku scrapy python-2.7

我在scrapy中开发了一些蜘蛛,我想在Heroku云上测试它们.有没有人知道如何在Heroku云上部署Scrapy蜘蛛?

Pab*_*man 12

是的,在Heroku上部署和运行Scrapy蜘蛛相当简单.

以下是使用真实Scrapy项目的步骤:

  1. 克隆项目(请注意,它必须有一个requirements.txtHeroku文件才能将其识别为Python项目):

    git clone https://github.com/scrapinghub/testspiders.git

  2. 将cffi添加到requirement.txt文件中(例如cffi == 1.1.0).

  3. 创建Heroku应用程序(这将添加一个新的heroku git远程):

    heroku create

  4. 部署项目(这将在第一次构建slug时需要一段时间):

    git push heroku master

  5. 运行你的蜘蛛:

    heroku run scrapy crawl followall

一些说明:

  • Heroku磁盘是短暂的.如果要将已删除的数据存储在持久位置,可以使用S3源导出 (通过附加-o s3://mybucket/items.jl)或使用插件(如MongoHQ或Redis To Go)并编写管道以将项目存储在那里
  • 在Heroku上运行Scrapyd服务器会很酷,但目前还不可能,因为sqlite3模块(Scrapyd要求)在Heroku上不起作用
  • 如果您需要更复杂的解决方案来部署Scrapy蜘蛛,请考虑设置自己的Scrapyd服务器或使用Scrapy Cloud等托管服务

  • 您可以使用 scrapy-heroku 在 heroku 上运行 Scrapyd 服务器!一直在为我工作。https://github.com/dmclain/scrapy-heroku (2认同)