我在 scrapy 中开发了一些蜘蛛,我想在 Heroku 云上测试它们。有人知道如何在 Heroku 云上部署 Scrapy 蜘蛛吗?
问问题
10038 次
1 回答
13
是的,在 Heroku 上部署和运行 Scrapy 蜘蛛相当简单。
以下是使用真实的 Scrapy 项目作为示例的步骤:
克隆项目(注意它必须有一个
requirements.txt
文件让 Heroku 将其识别为 Python 项目):git clone https://github.com/scrapinghub/testspiders.git
将 cffi 添加到 requirements.txt 文件(例如 cffi==1.1.0)。
创建 Heroku 应用程序(这将添加一个新的 Heroku git 远程):
heroku create
部署项目(第一次需要一段时间,当构建 slug 时):
git push heroku main
运行你的蜘蛛:
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 回答