#wikipedia #wikidata #api #wikimedia #api-bindings #batch

bin+lib tools_interface

多个与 Wikipedia/Wikimedia/Wikidata 相关工具的抽象

7 个版本

0.1.6 2024年6月3日
0.1.5 2024年6月3日
0.1.4 2024年5月31日

3#wikipedia

每月25 次下载

MIT/Apache

9MB
11K SLoC

TypeScript 5.5K SLoC // 0.2% comments Rust 3K SLoC // 0.0% comments Python 1.5K SLoC // 0.2% comments HCL 292 SLoC // 0.0% comments Shell 165 SLoC // 0.2% comments JavaScript 157 SLoC // 0.0% comments Java 145 SLoC // 0.1% comments Go 143 SLoC // 0.2% comments C++ 128 SLoC // 0.3% comments Kotlin 100 SLoC // 0.1% comments PowerShell 88 SLoC // 0.1% comments Batch 71 SLoC SQL 31 SLoC C# 30 SLoC // 0.3% comments Visual Studio Solution 28 SLoC Ruby 25 SLoC Swift 18 SLoC // 0.1% comments Open Policy Agent 16 SLoC Jinja2 15 SLoC Dart 13 SLoC Lua 13 SLoC PHP 8 SLoC CUDA 7 SLoC Bazel 5 SLoC VB6 5 SLoC Scala 4 SLoC Haml 3 SLoC Jupyter Notebooks 3 SLoC // 0.5% comments Perl 2 SLoC // 0.5% comments

包含 (ZIP 文件, 8.5MB) ticket-monster.war, (JAR 文件, 62KB) gradle-wrapper.jar, (ZIP 文件, 8KB) jboss-helloworld.war

工具接口

这个 Rust 包实现了结构体,以便轻松与多个 Wikipedia/Wikidata/Wikimedia 工具和 API 进行接口。

支持的工具

如果您想看到支持其他工具,请在 问题跟踪器 中添加请求。

二进制文件

这里有一个 ti 二进制文件,作为 tools_interface 库的命令行界面工作。它允许您从 shell 运行针对各种 Wikimedia 工具的查询。

使用 ti help 获取子命令列表,并使用 ti help <subcommand> 获取特定子命令的帮助。

默认输出格式是 JSON,因此您可以将其输出通过 jq 进行下游处理。页面列在 .pages 数组中,每个页面都有一个 title、一个 prefixed_title 和一个 namespace_id。每个页面都可以有额外的字段,具体取决于使用的工具。包含结果网站的 wiki、语言和项目的 .site 对象。

示例:使用已知 PSID 运行 PetScan 查询,并覆盖两个参数

ti petscan --id 28348714 --params "foo=bar" "baz=123"

示例:在德语 Wikipedia 上对“生物”文章运行缺失主题,不包含模板链接

ti missing_topics --wiki dewiki --article Biologie --no_template_links

要将输出转换为更易于阅读的格式,您可以使用 jq

# First, pipe your output to a file:
ti SOME_COMMAND > test.json
# Assuming you just want the page titles:
jq -r '.pages[].prefixed_title' < test.json
# Assuming the output has additional `counter` fields:
jq -r '.pages[] | "\(.prefixed_title)\t\(.counter)"' < test.json

依赖项

~13–26MB
~395K SLoC