DocNow/twarc
GitHub: DocNow/twarc
Twitter数据存档工具,支持API v1.1和v2。
Stars: 1394 | Forks: 254
# twarc
**注意:由于 Twitter API配额变更导致 twarc 无法使用,该项目已不再积极维护。**
[](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 数据收集, 代码贡献, 功能扩展, 学术研究, 开源项目, 插件开发, 数据备份, 数据存档, 文档编写, 社交媒体分析, 软件维护, 逆向工具