从 Twitter API 进行数据收集的全面指南
1. API 速率限制与数据保存
API 提供商通常会限制请求数量,以确保服务器和架构能够处理传输的数据量。如果允许每个人随时获取 100% 的数据,可能会导致 API 服务器崩溃。
若遇到需要付费获取额外访问权限的 API,你需要确定自己是否有能力支付,以及这些数据对你的研究价值几何。若遇到有速率限制的 API,则需判断部分数据是否足够。若 API 存在速率限制,收集具有代表性的样本可能需要很长时间,因此要估算自己愿意和能够投入的精力。
Twitter 的 API 也有速率限制。其 REST API 每 15 分钟限制请求数量,而 Streaming API 则提供持续的数据流。例如,使用 GET search/tweets 这个查询,根据你是以用户还是应用程序的身份查询 API,每 15 分钟的请求速率限制为 180 或 450 次。
保存 API 响应数据文件时,你可以保存多个文件,也可以将数据写入一个文件,还能将推文数据保存到数据库。无论选择哪种方式,都要定期保存数据,以免丢失已请求的数据。
2. Twitter 数据访问层级
Twitter 有三种数据访问层级:
| 层级 | 覆盖范围 | 可用性 | 成本 |
| ---- | ---- | ---- | ---- |
| Firehose | 所有推文 | 通过合作伙伴(如 DataSift 或 Gnip)获取 | 高昂 |
| Gardenhose | 所有推文的 10% | 新访问权限不再提供 | 无 |
| Sprit
超级会员免费看
订阅专栏 解锁全文
1452

被折叠的 条评论
为什么被折叠?



