Manual:Pywikibot/PAWS/ja


 * 詳細は PAWS を参照してください. 

このドキュメントでは、 の簡単な概要を Wikimedia ls 環境が PAWS (PAWS: A Web Shell) を用いてホストしている notebook を使って説明します.

ウィキメディアのアカウントの作成
このウォークスルーを試すのに必要なのは、ウィキペディア/ウィキメディアのアカウントのみです. 作成するには Special:CreateAccount を使用してください.

Once you have created an account, please visit https://test.wikipedia.org/ and check that your username appears in the top right corner (this works around T120327).

notebookにサインイン
ホスティングされた notebook を開始するには、https://paws.wmflabs.org に遷移します.

「Sign in with MediaWiki」をクリックし、「Use OAuth for Authentication」を承認するように求められた際は「Allow」をクリックします. PAWS にアクセスするのが初めての場合は、サーバーを作成する必要があります. 緑色の"Start my Server"ボタンをクリックしてください. 新しいサーバーを開始する際、通常はしばらく時間がかかります.

これが完了すると、 https://paws.wmflabs.org/paws/user/<利用者名>/tree のような URL にリダイレクトされます.

端末の開始
新しい対話型端末を開始するには以下のようにします:
 * 1) PAWS ホームに遷移します.
 * 2) 右側の「New」をクリックします.
 * 3) 「Terminal」を選択します.

これにより https://paws.wmflabs.org/paws/user/<利用者名>/terminals/1 という URL で、Linux の「$」プロンプトがある新しいウィンドウが開きます.

この URL をブックマークに登録することで、いつでもこの端末に戻れます. ブラウザーを閉じたりご利用のコンピューターをシャットダウンした場合でも戻れます.

この端末はエミュレーターではありません. docker コンテナー上の実物の Linux インストレーションの一部である実物の bash シェルであるため、あらゆる bash コマンドを使用でき、Linux にインストール済みで利用可能なあらゆるコマンドを使用できます.

利用できるコマンドの一部を列挙するには、 を使用してください.

ウィキへのログイン
これによりサーバー上のあなたのアカウントが確立され、コマンドラインからログインできるようになります. 以下のコマンドで、テストウィキにログインできることを確認できるはずです. OAuth を使用しているため、パスワードを入力する必要はありません.

user-config.py という名前のファイルを ディレクトリ  に作成し、mylang および family の変数を追加することで、別のウィキの pywikibot に接続できます:

ページの作成
ページを作成するには、以下のコマンドの「 」をあなたの利用者名に書き換えて端末に入力し、変更内容を受理するように求められたら「Y」を押します:

これでウィキを編集できました. 変更内容を閲覧するには、ウェブ ブラウザーで https://test.wikipedia.org/wiki/User_talk:<利用者名> を開きます.

これらのコマンドライン スクリプトそれぞれについて詳細を閲覧するには、「-help」コマンドライン オプションを使用してください.

ページの取得
多数のページの取得は、「listpages」コマンドで実現できます.

前の節で作成したページの本文を取得するには、以下のコマンドを入力します:

Now if you go to your PAWS files list, the saved page should be present.

実際に使われているスクリプト例
When a website used on Wikipedia changes its URL, the links on Wikipedia become outdated, and possible also dead links if the website doesn't redirect from the old URLs to the new URLs. e.g. for example, Encyclopedia Britannica (EB) has changed their links, such as moving pages from http://www.britannica.com/EBchecked/media/ to http://www.britannica.com/topic/[topic name]/images-videos/*. You can find the list of usages of the old URL on English Wikipedia at https://en.wikipedia.org/wiki/Special:LinkSearch/http://www.britannica.com/EBchecked/media. Updating all those links manually will be very time consuming. Thankfully EB has maintained redirects from their old URLs to the new URLs, so this does not need to be fixed immediately.

For a simpler example, English Wikipedia currently contains links to http://britannica.com/EBchecked/ instead of http://www.britannica.com/EBchecked/ ; i.e. a 'www.' subdomain is missing in the URL.

There are currently 14 cases on English Wikipedia: https://en.wikipedia.org/wiki/Special:LinkSearch/http://britannica.com/EBchecked/

Wikipedia in other language also have this problem. e.g. there is one case on German Wikipedia: https://de.wikipedia.org/wiki/Spezial:Weblinksuche/http://britannica.com/EBchecked/

In order to fix those links, we can use Pywikibot replace.py script. In this demo we will use the '-simulate' argument to avoid writing to the wiki, as there are strict rules about automated editing of English Wikipedia.

First lets list all of the pages which link to http://britannica.com/EBchecked/.

Now we check those pages actually have the literal URL in the page; i.e. they are not using a template.

Now use replace to add the missing "www."

In PAWS, and any terminal that supports color, the diff of changes will show the added "www." in green text color, making it easier to find the proposed changes.

Pywikibot の内側
Next we will use the PAWS Python session.


 * 1) Go to your PAWS home,
 * 2) click 'New' on the right hand side, and
 * 3) select 'Python 3'.

This will open a new window.

In the text box, enter the following and in the Cell menu select 'Run' (or pressing shift+enter to run).

A new text box will appear below. Run the following to create an APISite object connected to https://test.wikipedia.org/:

Describe "site" by entering it into the new text box and selecting "Run".

It should show

Out[3]: APISite("test", "wikipedia")

Create a page object:

Check it exists by running:

It should output

VERBOSE:pywiki:Found 1 wikipedia:test processes running, including this one. Out[5]: True

Show the text on the page:

Change the page text in the object:

Save the page to the wiki:

The response should be:

The interactive Python 3 notebook allows many lines to be run together. The above could be put into one text box and Run

The log of your interactive Python session can be saved or downloaded for future reference.

Accessing online documentation in PAWS
Pywikibot documentation may be found at https://doc.wikimedia.org/pywikibot/. It is primarily sourced from docstrings, which can be loaded in the interactive Python 3 notebook using the Python built-in function help.

For example, to look at the arguments for the save method above, run either: または

Pywikibot スクリプトの編集
The Pywikibot library and scripts are located in /srv/paws, and are read-only. The installed Pywikibot library can not be modified in PAWS.

Scripts may be modified after copying them into your PAWS home.

For example, to run a modified "checkimages.py":
 * 1) In the terminal, enter
 * 2) In a browser, go to your PAWS home and click on the file.
 * 3) In the browser, you can edit the file. Edit the code -- for instance, just after the   code on line 1775, add a new line 1776 that will print out your name:
 * 4) In the editing interface, use the File menu and click Save to save your modifications.
 * 5) In the terminal, enter

参照

 * PAWS cheatsheet by one user (e.g. about API and database access)