关于扩展社交媒体数据收集的笔记

这是一份关于如何从社交媒体网站下载数据的非正式指南,包含以下主要内容:

  • 背景:社交媒体公司不愿让数据下载过程轻松,此指南旨在为研究人员和记者提供帮助,文中以 Twitter/X、TikTok、Facebook 和 YouTube 为例。
  • 适用情况与限制:适用于收集大量数据(如 1000 万+条推文),可通过短重复任务收集,数据源稳定快速响应,且有一定资金投入;不适用于无法分解为并行子任务或 API 响应缓慢等情况。
  • 伦理注意事项:强调不要利用他人数据,此指南旨在支持公共利益研究,应谨慎处理研究与数据收集对象之间的关系,且数据收集应有良好理由和文档记录。
  • 操作步骤

    • 映射整体架构:将大数据收集任务分解为小的子任务,通过 Google Cloud Platform 等设置子任务队列、执行器、数据源、原始数据存储和数据集等,以实现自动数据收集和处理。
    • 让本地任务工作:在本地编写获取数据的 Python 脚本,获取少量样本数据并保存为本地文件(如.json 或.csv 格式)。
    • 确定原始数据存储位置:建议将原始数据存储到某种 blob 存储中,如 GCP 存储桶,同时记录数据来源等元数据,以便后期清理和整理。
    • 设置 HTTP 函数:将本地代码打包成可在云端运行的 HTTP 函数,通过读取 JSON 参数执行子任务并将数据写入输出位置,可参考相关教程和示例,同时注意设置秘密管理器管理密钥和令牌等。
    • 设置队列:使用 Google Cloud Tasks 等工具生成子任务并添加到队列中,也可通过其他方式调用 HTTP 函数,如设置单个任务在 Cloud Scheduler 中定期运行。
    • 摄取数据:编写定期运行的 Python 脚本,将 blob 存储中的原始数据摄取到更结构化的表中,如根据推文的结构化格式创建 BigQuery 表。
    • 庆祝与记录:确保记录下数据下载过程中的各项事宜,以便后续参考和维护。
  • 附录:包括处理分页令牌、重复运行相同任务以及设置秘密管理器等方面的示例和代码说明。

总之,此指南提供了一种在云端使用函数进行大规模数据下载的方法,但需根据具体情况进行调整和修改。

阅读 8
0 条评论