DocNow/twarc

GitHub: DocNow/twarc

Twitter数据存档工具,支持API v1.1和v2。

Stars: 1394 | Forks: 254

# twarc **注意:由于 Twitter API配额变更导致 twarc 无法使用,该项目已不再积极维护。** [![DOI](https://zenodo.org/badge/7605723.svg)](https://zenodo.org/badge/latestdoi/7605723) twarc 是一个用于通过 Twitter API 收集和存档 Twitter JSON 数据的命令行工具和 Python 库。它为处理旧版 v1.1 API 和新版的 v2 API 以及学术访问(分别对应 twarc 和 twarc2)提供了独立的命令。 * 阅读文档 [文档](https://twarc-project.readthedocs.io) * 在 [GitHub](https://github.com/DocNow/twarc/discussions)、[Slack](https://bit.ly/docnow-slack) 或 [Matrix](https://matrix.to/#/#docnow:matrix.org?via=matrix.org&via=petrichor.me&via=converser.eu) 中提问 twarc 的开发得到了 [Mellon 基金会](https://mellon.org/) 的慷慨支持。 ## 贡献 欢迎并鼓励为 twarc 添加新功能。然而,为了保持 twarc 核心库和命令行工具的可持续性,我们将以下原则考虑在内来评估新功能: 1. 目的:twarc 用于通过 Twitter API 收集和存档 Twitter 数据。 2. 可持续性:保持 twarc 及其依赖项的表面面积足够小,以确保高质量。 3. 通用性:twarc 提供的功能应适用于不同的人、项目和领域,而不仅仅是特定用例。 4. API 一致性:在合理范围内,我们力求使 twarc 与 Twitter API 保持一致,并使 twarc 本身保持一致——即核心 twarc 中的命令应具有相似的工作方式,twarc 功能应与 Twitter API 保持一致。 对于超出这些范围的功能和方法,twarc 允许外部包通过 [click-plugins](https://github.com/click-contrib/click-plugins) 钩入 twarc2 命令行工具。这意味着如果您想提出新功能,您可以创建自己的包,而无需与核心 twarc 协调。 ### 文档 文档由 ReadTheDocs 管理。如果您想改进文档,可以编辑 `docs` 中的 Markdown 文件或添加新的文件。然后发送 pull request,我们可以将其添加。 要本地查看文档,您应该能够: ``` pip install -r requirements-mkdocs.txt pip install -e . mkdocs serve open http://127.0.0.1:8000/ ``` 如果您愿意,可以在 [wiki](https://github.com/docnow/twarc/wiki/) 上创建一个页面来工作文档,然后当您认为它准备好与文档合并时,创建一个 [issue](https://github.com/docnow/twarc/issues)。请随意在 wiki 区域创建任何有用的文档。 ### 代码 如果您对为 twarc 添加功能或修复某些问题感兴趣,以下是设置您的开发环境的步骤: ``` git clone https://github.com/docnow/twarc cd twarc ``` 创建一个 .env 文件,其中包含用于测试的 Twitter 应用密钥: ``` BEARER_TOKEN=CHANGEME CONSUMER_KEY=CHANGEME CONSUMER_SECRET=CHANGEME ACCESS_TOKEN=CHANGEME ACCESS_TOKEN_SECRET=CHANGEME ``` 现在运行测试: ``` uv run pytest ``` 添加您的代码和一些新的测试,并发送 pull request!
标签:API 调用, API 适配, DNS解析, JSON 数据处理, Python 库, Twitter API, Twitter 数据收集, 代码贡献, 功能扩展, 学术研究, 开源项目, 插件开发, 数据备份, 数据存档, 文档编写, 社交媒体分析, 软件维护, 逆向工具