11

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

4

1 回答 1

13

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

以下是使用真实的 Scrapy 项目作为示例的步骤:

  1. 克隆项目(注意它必须有一个requirements.txt文件让 Heroku 将其识别为 Python 项目):

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

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

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

    heroku create

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

    git push heroku main

  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等托管服务
于 2012-10-18T21:58:44.433 回答