32 个版本
0.7.0-rc.2 | 2024 年 6 月 13 日 |
---|---|
0.6.1 | 2024 年 1 月 7 日 |
0.6.0 | 2023 年 12 月 15 日 |
0.6.0-rc.1 | 2023 年 11 月 2 日 |
0.3.2 | 2021 年 11 月 22 日 |
#199 in 网络编程
每月 339 次下载
540KB
10K SLoC
mwbot
MediaWiki 框架
mwbot
旨在为构建MediaWiki维基百科的机器人工具提供一个完整的框架。它基于mwapi和parsoid,它们提供更底层的API。
快速入门
配置
创建一个具有以下结构的~/.config/mwbot.toml
文件
wiki_url = "https://en.wikipedia.org/w/"
如果需要认证,请添加一个认证部分
[auth]
username = "Example"
oauth2_token = "[...]"
有关如何获取OAuth 2令牌的说明,请参阅OAuth文档。使用所有者专属消费者是最简单的方法。
阅读页面
let bot = mwbot::Bot::from_default_config().await.unwrap();
let page = bot.page("Rust (programming language)")?;
let html = page.html().await?.into_mutable();
// The lead section is the second p tag in the first section
let lead = html.select("section > p")[1].text_contents();
assert!(lead.starts_with("Rust is a multi-paradigm, general-purpose programming language"));
使用Bot::from_default_config()
将首先在当前目录中查找mwbot.toml
,然后再查找用户的配置目录。可以通过使用Bot::from_config(...)
指定自定义路径。
编辑页面
let bot = mwbot::Bot::from_default_config().await.unwrap();
let page = bot.page("Project:Sandbox")?;
let wikitext = "This is a test edit!";
page.save(wikitext, &SaveOptions::summary("test edit!")).await?;
Page.save()
接受HTML和维基文本,并支持{{nobots}}
排除机制,以及其他功能。
下一步
尝试使用提供的页面生成器来获取并操作多个页面。
贡献
mwbot
是mwbot-rs
项目的旗舰软件包。我们一直在寻找新的贡献者,如果您对此感兴趣,请联系我们!
许可证
本软件包在GPL-3.0-or-later许可证下发布。有关详细信息,请参阅COPYING。
依赖关系
~15–28MB
~431K SLoC