一个命令行工具和库,用于从社交媒体分析工具包(SMAT)获取数据。
项目描述
SMAT-CLI
提供从社交媒体分析工具包(SMAT)(SMAT)获取数据的命令行工具,以及一个用于从您自己的代码中与SMAT交互的库。
社交媒体分析工具包(SMAT)是一个资源,允许活动家、记者、研究人员和其他社会公益组织从各种在线平台收集有关仇恨、虚假信息、极端主义的信息。SMAT团队提供了出色的服务,值得您支持!如果您能的话,请访问他们的Open Collective页面以支持他们。
SMAT-CLI是一个工具,使从API获取这些信息变得容易,无论是在终端还是在您的应用程序中。
安装
OS X & Linux
pip install smat-cli
尽管如此,我建议使用Pipx将其作为系统工具安装。
pipx install smat-cli
Windows
即将推出!
使用示例
假设您想收集2021年1月6日至3月1日之间Telegram上的1000篇帖子。您可以使用content
命令这样做。
smat content -s telegram -l 1000 --since 2021-01-06 --until 2021-03-01 trump
如果您需要一些汇总数据,您可以使用timeseries
命令从2021年1月6日至3月1日获取提及特朗普的帖子数量,并将其汇总到每日桶中,您可以使用以下命令。
smat timeseries -s telegram -i day --since 2021-01-06 --until 2021-03-01 trump
您还可以按数据中存在的任何任意键进行聚合。要了解哪些键可用,您可以检查content
命令的结果。一旦您知道了要聚合的键,您可以使用activity
,例如,从2022年1月6日到3月1日,统计每个Telegram频道中包含“特朗普”一词的帖子数量。
smat activity -s telegram -a channelusername --since 2021-01-06 --until 2021-03-01 trump
所有上述命令都按行打印JSON格式的输出到stdout,因此您可以按常规方式将结果重定向到文件。
smat content -s telegram -l 1000 --since 2021-01-06 --until 2021-03-01 trump >> data.ndjson
您还可以指定不同的输出格式。例如,如果您希望结果为JSON而不是JSONlines,可以传递--format json
。这是使用timeseries
时格式化变更点数据的当前唯一方法。
smat --format json content -s telegram -l 1000 --since 2021-01-06 --until 2021-03-01 trump > data.json
此外,此包可以通过从smat_cli
导入Smat
并在程序内部查询API的方式在另一个应用程序中使用。
from smat_cli import Smat
api = Smat()
data = api.content(term="trump", site="telegram", ...)
for d in data:
print(d["message"])
开发环境设置
可以通过Tox运行测试,它会运行Python 3.7、3.8、3.9、3.10版本的测试。为此,必须安装所有这些Python版本。如果需要,已在test_runner
目录中包含了一个Dockerfile。
poetry install
tox
版本发布历史
- 0.1.3
- 添加新站点:TikTok、Rutube、Truth Social (@benzonip)
- 添加了对Python 3.11的支持
- 0.1.2
- 更新了包信息和README
- 添加了格式化器和JsonFormatter
- 0.1.1
- 更新了包信息和README
- 0.1.0
- 初始发布
我
丹尼尔·霍斯特曼 – @dhosterman – daniel@danielhosterman.com
在Unlicense许可下分发。有关更多信息,请参阅LICENSE
。
贡献
- 将其叉到(https://github.com/yourname/yourproject/fork)
- 创建您的功能分支(
git checkout -b feature/fooBar
) - 使用
Black
格式化您的代码 - 确保有针对您的更改的测试,并且它们通过
- 提交您的更改(
git commit -am 'Add some fooBar'
) - 将更改推送到分支(
git push origin feature/fooBar
) - 创建新的拉取请求
贡献者
- 彼得·本佐尼 (@benzonip)
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
smat_cli-0.1.3-py3-none-any.whl的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 929fb01b440fdabceb88d9af76ef02b7ce1e45288a8e620304593a1835fc9f32 |
|
MD5 | b6511160481bcabfef192802d9ee44e1 |
|
BLAKE2b-256 | c489a15e1e9c7b7e00f013b04c51ad68b33f2e30bc34460a7e7592a3cd66bd18 |