python - 如何在不公开提供凭据的情况下向 Scrapy Cloud 提供 API 凭据?
问题描述
我非常迷茫的一个地方是确定如何正确地向 Scrapy Cloud 和 Scrapinghub 提供 API 凭据,以便将解析的项目发送到 Google Cloud。我目前将我的脚本存储在 Github 上并将其自动更新到 Scrapy Cloud。这是为了更容易更新我的项目,也让其他人看到我的项目进度。
然后出现了如何正确提供 API 凭据以验证 Google 的 Scrapy 数据的问题。我不能公开显示凭据(我学到的非常糟糕的主意)。而且我不相信我可以手动将 JSON 文件上传到 Scrapy Cloud 并将我的项目存储在 Github 中。我只能将我的项目存储在 Scrapy 上,但这限制了项目上的协作。
是否有潜在的解决方法?有没有人能够解决这个问题?
提前致谢!
编辑:
在阅读了一些晦涩难懂的 Google 文档后,我能够通过以下初步帮助解决该问题。该过程如下所示:
- 在 Google Cloud UI 中创建一组服务帐号凭据
- 进入 Scrapinghub UI 并在爬虫中为凭据中的每个项目创建一个设置。
- 使用 Scrapy 提供的“settings.get”功能从您的 Scrapinghub UI 中提取这些凭据。
- 从 OAuth2 模块构建一个 Credentials 对象。
- 使用 Credentials 对象作为 Pub/Sub PublisherClient 的凭据。
我如何解决问题的 Github 链接在这里:
https://github.com/cmattheson6/bill_votes/blob/master/senate_votes/pipelines.py
解决方案
推荐阅读
- c++ - cpp libcurl 在 http post 调用中发送 zip 文件而不使用 multipart\form-data
- ruby-on-rails - 从 form_for rails 调用动作?
- php - 如何根据当前用户能力显示 WordPress 管理栏项目
- android - "layout_constraintBottom_totopOf" not found
- node.js - 如何从另一个模块获取结果 - Nodejs
- python - 无法停止python中的nameerror
- encryption - 如何使用 create_self-signed.py 为 open62541 实现加密
- vue.js - 针对基本身份验证 url 的 IE11 nightwatch 浏览器堆栈端到端测试因超时而失败
- java - org.sqlite 包与可从另一个模块访问的包冲突:eclipse 中的 sqlite.jdbc
- angular - 值没有以角度绑定