我有一个 nokigiri 网络抓取工具,它发布到我正在尝试发布到 heroku 的数据库。我有一个 sinatra 应用程序前端,我想从数据库中提取它。我是 Heroku 和 Web 开发的新手,不知道处理此类问题的最佳方法。
我是否必须将上传到数据库的网络抓取脚本放在 sinatra 路由下(例如 mywebsite.com/scraper ),并使其变得如此模糊以至于没有人访问它?最后,我想让 sinatra 部分成为从数据库中提取的 REST API。
感谢您的所有投入
您可以采取两种方法。
第一个是通过控制台运行刮刀来使用一次性测功机heroku run YOURCMD
。只需确保抓取工具不写入磁盘而是使用数据库即可。
更多信息:https://devcenter.heroku.com/articles/one-off-dynos https://devcenter.heroku.com/articles/one-off-dynos
第二个是抓取器和 Web 进程之间的区别,即您有用于正常 UI 交互的 Web 进程,以及 Web 进程可以生成/与之对话的抓取器进程。如果您选择这条路线,则取决于您如何保护它免受世界其他地方的影响(身份验证/网址混淆等)。
更多信息:https://devcenter.heroku.com/articles/background-jobs-queueing https://devcenter.heroku.com/articles/background-jobs-queueing
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)