wikibaseのapiをpythonクライアントから使用する機会がありましたので、その備忘録です。
以下のライプラリを使用しました。
https://wikibase-api.readthedocs.io/en/latest/index.html
インストール#
以下でインストールします。
Read#
今回は、以下のwikibaseインスタンスに対して処理を行います。
https://nakamura196.wikibase.cloud/
上記により、Q1に関する情報を取得することができました。
Create#
認証情報の取得#
アイテムの作成などを行う際には、以下のどちらかの方法で認証を行う必要がありました。
- Authentication using OAuth
- Authentication with a user account
後者はBot passwordsを作成する方法で、以下の記事でも作成方法を紹介しています。
今回は前者の方法を試します。
「Special pages」の「OAuth consumer registration」を選択します。

「Request a token for a new OAuth 1.0a consumer.」と「Request a token for a new OAuth 2.0 client.」の2つの作成方法がありますが、前者を選択します。

項目を埋めていきます。

今回はテストのため、すべての項目にチェックを入れました。

結果、以下のようなページが表示され、認証情報を取得できます。

.envファイルを作成します。
load_dotenvを使って認証情報をロードして、設定します。
以下を実行することで、空のアイテムを作成できます。
例えば、以下のような結果が得られます。
アイテムの編集等については、別の記事にまとめたいと思います。
削除する際には、Item:やProperty:を頭につける必要がありました。
以下のような結果が得られ、ページが削除されました。
以下のようなクエリを発行してみます。
以下のような結果が得られました。
まとめ#
wikibaseのapiをpythonクライアントから試してみました。wikibaseと外部システムをAPIを介して接続することで、色々と便利に利用することができそうでした。
他の方の参考になりましたら幸いです。