Wikipedia:AutoWikiBrowser/作業手順
AWBにできること
[編集]AWBには以下のようなことが出来ます。
- カテゴリの張替え、除去、付加
- 付加については対象記事のリストを何らかの形で指定する必要あり
- テンプレートの張替え、除去、付加
- 付加については対象記事のリストを何らかの形で指定する必要あり、かつ足す位置の指定が必要、トップか、ラストか、何かのテンプレートのすぐ後か、など
- 画像の貼り替え、除去、付加
- 付加については対象記事のリストを何らかの形で指定する必要あり、かつ足す位置の指定が必要、トップか、ラストか、何かのテンプレートのすぐ後か、など
- リンクの貼り替え
- その他、正規表現で検索できるかぎり、それら対象テキストの操作が可能(例えばテンプレート内の変数の置換など)
- 記事リストの作成
- リンク元、テンプレートの呼び出し元、Google検索へのヒットの有無、Bing検索へのヒットの有無、などを条件として記事リストを作成可能
- 作成した記事リスト全体に対して、上にあるような操作が行える。
操作方法(作業内容別)
[編集]以下、具体的な作業内容別の条件指定です。以下に書かれている条件指定はひとつの参考です。動作保証はありません。 ウィキテキストが想定外の形をしていた場合、以下の条件指定は簡単に誤動作します。
全ての差分を自分の目で確認し、自分の責任で投稿ボタンを押してください。
以下は、特記しない限り「Options」タブの真ん中にある「Find and Replace」で「Enabled」をチェックし、そのすぐ右にある三つのボタンの中から「Advanced settings」を押した時に出てくるウィンドウでの設定方法を解説しています。
表示されるウィンドウ上段の「Find」という所に検索条件の式を、「Replace」という所に置換条件の式を入れ、ウィンドウ下部にある「Regular expression」という部分をチェックてください。
リンク修正
[編集]リンクの張り替え: [[ああああ]]
を [[アアアア]]
で置換。
- この設定では節リンクやパイプについては、置換せずにスルーします。
- 検索条件:
\[\[ああああ\]\]
- 置換条件:
[[アアアア]]
- 正規表現においてメタ文字に該当する
[]
を普通の文字として表すために、文字の前に\
を付けます。なお[[ああああ (人物)]]
などのように括弧付きのリンクを修正する際には、()
もメタ文字に該当しているため\[\[ああああ \(人物\)\]\]
→[[アアアア (人物)]]
のように指定します。
- 正規表現においてメタ文字に該当する
パイプ付きリンクの張り替え: [[ああああ|○○(適当な文字列)
を [[アアアア|○○(適当な文字列)
で置換。
- 検索条件:
\[\[ああああ\|([^\]]*)\]\]
- 置換条件:
[[アアアア|$1]]
[^abc]
([]
内に含まれる文字以外の一文字を検索)と*
(直前の文字を0個以上連続させる)を組み合わせて、[^\]]*
で「]
(\
を付けているため普通の文字)以外の文字で構成された何でもいい文字列」、すなわち次に]
が来るまでの文字群を表します。これを()で括って「キャプチャー」することで、置き換えの際に$1
でその文字列をそのまま参照して用いることができるようにします。なお|
もメタ文字に該当するため文字の前に\
を付記して下さい。- この設定は
#
がメタ文字でないということを除けば、節リンクの張り替えについても応用することができます。すなわち、\[\[ああああ#([^\]]*)\]\]
→[[アアアア#$1
というような具合です。
上記3つを複合した、改名に伴なう完全なリンク貼り替え
- 「ああああ」へリンクしてるものをすべて「アアアア」へのリンクに変更。見た目がややこしいですが、実用に耐える条件指定です。
- 検索条件:
\[\[ああああ(\]\]|\#[^\]]*\]\]|\|[^\]]*\]\])
- 置換条件:
[[アアアア$1
()
を「キャプチャー」と同時に「グループ化」としての意味でも用いています。()
内におけるいくつかの文字列を|
で区切ることにより、区切られたいくつかの文字列のどれかに該当するものを全て検索し、その文字列を$1
で呼び出します。これは上記の3つの作業(普通のリンクの張り替え、パイプ付きリンクの張り替え、節リンクの張り替え)を順番に行った場合と同じ結果が得られます。
節リンク張替え: [[ああああ#aaa
を [[ああああ#bbb
で置換
- 検索条件:
(\[\[ああああ#aaa)
- 置換条件:
[[ああああ#bbb
カテゴリ関連
[編集]カテゴリ変更: [[Category:ああああ]]
を [[Category:アアアア]]
に変更する。
- 検索条件:
\[\[(?:Category|category|カテゴリ):ああああ(\|[^\]]*)\]\]
- 置換条件:
[[Category:アアアア$1]]
- 上述したキャプチャーの応用です。一つ目の
()
の方は、?:
を付けることによってキャプチャの機能を消してグループ化の意味だけで用いられるようにしています。
- 上述したキャプチャーの応用です。一つ目の
カテゴリ除去: スタブカテゴリとスタブテンプレートが重複している場合にカテゴリの方を除去する(テンプレートを使って付与されるカテゴリについての二重指定除去)
- 全般指定(「スタブ」という文字列を含むカテゴリと「stub」という文字列で終わるテンプレートの両方が含まれる場合に検知、カテゴリ除去する設定。当然だがこの設定は毎回細かい内容の確認が必要。「テンプレートが内部にカテゴリを含むか」という点と「テンプレートとカテゴリの対応」という点の二点)
- 検索条件:
({{[^\|}]*stub(\|[^}]*)?}}[.\s]*)\[\[(Category|category|カテゴリ):[^\]]*に関するスタブ項目(\|[^\]]*)?\]\]
- 置換条件:
$1
\s
は改行を含めた空白文字を表す事ができるコードです。{{[^\|}]*stub(\|[^}]*)?}}
でスタブテンプレートを、[.\s]*
でスタブテンプレートからスタブカテゴリまでの間の文字列を、\[\[(Category|category|カテゴリ):[^\|\]]*に関するスタブ項目(\|[^\]]*)?\]\]
でスタブカテゴリを検出します。スタブテンプレートの検出のために用意した前半の({{[^\|}]*stub(\|[^}]*)?}}[.\s]*)
までの部分をキャプチャして残し、あとの\[\[(Category|category|カテゴリ):[^\|\]]*に関するスタブ項目(\|[^\]]*)?\]\]
の部分だけを切り捨てます。
- 検索条件:
- 特定指定(「Category:○○に関するスタブ項目」というカテゴリと「nn-stub」というテンプレート、この両方が含まれる場合に検知し、カテゴリを除去する設定)
- 検索条件;
({{nn-stub(\|[^}]*)?}}[.\s]*)\[\[(Category|category|カテゴリ):○○に関するスタブ項目(\|[^\]]*)?\]\]
- 置換条件:
$1
- 検索条件;
テンプレート関連
[編集]- テンプレート張り替え
{{ああああ}}
を{{アアアア}}
で置換。
- 検索条件:
{{ああああ}}
- 置換条件:
{{アアアア}}
- テンプレート付加
{{ああああ}}
のすぐ後に改行を挟んで{{アアアア}}
を付加。
- 検索条件:
({{ああああ}})
- 置換条件:
$1\r\n{{アアアア}}
\r\n
で改行を表します。改行を挟んですぐ前に置く場合は{{アアアア}}\r\n$1
のようにします。
- テンプレート除去
{{ああああ}}
を改行含んで除去。
この作業は「Normal settings」を使用すると便利です。その際「Regex」にチェックを入れてください。
- 検索条件(Find):
[\n]\{\{ああああ\}\}
- 引数が含まれる場合は、
[\n]\{\{ああああ\|.*\}\}
のようにしましょう。
- 引数が含まれる場合は、
- 置換条件(Replace with):
(空白)
※何も入力しない
メンテナンス関連
[編集]脚注節の追加:<ref>
タグがあるのに <refrences/>
タグが無いページに、脚注節を追加する。(例)
- 検索対象とするカテゴリ → CAT:NOREFLIST
- 条件指定は若干面倒。かつ手作業の必要な部分もあり(ルール3の場合)。とにかく規則としては、以下の三つのルールを作成する。
- ルール1「関連項目」という節があった場合に、そのすぐ上に「脚注節」を追加する。
- 検索条件
(\=(\=)*( )*関連項目( )*\=(\=)*)
- 置換条件
== 脚注 ==\n{{脚注ヘルプ}}\n{{Reflist}}\n\n$1
- IF条件(もし含むなら)
<ref
- IF条件(もし含まないなら)
({{[R|r]eflist|<reference)
- 検索条件
- ルール2「外部リンク」という節があった場合に、そのすぐ上に「脚注節」を追加する。ただし「関連項目」という節がない場合のみ。
- 検索条件
(\=(\=)*( )*外部リンク( )*\=(\=)*)
- 置換条件
$1
- IF条件(もし含むなら)
<ref
- IF条件(もし含まないなら)
({{[R|r]eflist|<reference)
- サブルール 検索条件
(\=(\=)*( )*外部リンク( )*\=(\=)*)
- サブルール 置換条件
== 脚注 ==\n{{脚注ヘルプ}}\n{{Reflist}}\n\n$1
- サブルール IF条件(もし含まないなら)
(\=(\=)*( )*関連項目( )*\=(\=)*)
- サブルール 検索条件
- 検索条件
- ルール3「外部リンク」という節も「関連項目」という節もなかったら、ページの一番下に「脚注節」を追加する。追加がカテゴリの下に来る事、あとなぜか二回追加されるので(原因不明)、手作業で一つ削ってから、位置を移動させる必要あり)
- 検索条件 なし(カラ、何も指定しない)
- 置換条件 なし(カラ、何も指定しない)
- IF条件(もし含むなら)
<ref
- IF条件(もし含まないなら)
({{[R|r]eflist|<reference)
- サブルール 検索条件
(.*)$
- サブルール 置換条件
$1\n\n== 脚注 ==\n{{脚注ヘルプ}}\n{{Reflist}}
- サブルール IF条件(もし含まないなら)
(\=(\=)*( )*(関連項目|外部リンク)( )*\=(\=)*)
- サブルール 検索条件
- ルール1「関連項目」という節があった場合に、そのすぐ上に「脚注節」を追加する。
複数の置換操作を一気に行う
[編集]記事の改名、カテゴリの改名、テンプレートの改名などが同時に行われた場合、リンクの貼り替え、カテゴリの貼り替え、テンプレートの貼り替えなど、実行すべき作業が同時に複数発生します。こうした場合、それぞれの作業を個別にこなしていくのがまずひとつの方法です。つまりまずカテゴリを貼り替える。それがすべて終わったら次にリンクを張り替える・・・といった方法です。このやり方は各操作の内容が単純なものとなるため、作業する上でのミスや勘違いが起きにくくなります。ただ各ページに個別に作業を繰り返していると履歴が増大しそうな場合は、条件を複数設定して置換操作を一気に実行する方法も検討してみてください。これは操作が若干ややこしくなるので、条件設定や差分のチェックはより慎重に行う必要があります。
- 画面中央の「Options」タブの真ん中にある「Find and Replace」で「Enabled」をチェック。
- そのすぐ右にある三つのボタンの中から「Advanced settings」を選び、ルール設定画面を呼び出す。
- 左上の「New」から「Rule」->「Find and Replace」を選択、右上の「Name」欄に条件名を設定(例えば「条件1」など)、「Find」の欄に検索条件を、「Replace」の欄に置換条件を入れる(#作業内容別 操作方法)。これが一つめの置換条件になる。
- もう一度左上の「New」から「Rule」->「Find and Replace」を選択、右上の「Name」欄に条件名を設定(例えば「条件2」など)、「Find」の欄に検索条件を、「Replace」の欄に置換条件を入れる(#作業内容別 操作方法)。これが二つめのの置換条件になる。
- 以下、置換条件の数だけこの操作を繰り返す。
- 終わったら右下の「Close」
あとは普通の作業と同じく、リストを作成し、「Start」を押して作業を開始する。すると、すべての置換ルールが一気にページに適用される。
作業手順
[編集]以下、具体的な作業手順です。
ログイン
[編集]- 画面上部の「Options」から「Preferences」を選び「Site」タブで、「Project」を wikipedia に、「Language」を ja に設定。
- 画面左上の「File」から「Log In/Profiles」を選んでアカウント名とパスワードを入れてログイン
要約欄設定
[編集]- 画面上部の「Options」から「Summuries」を選んで、一番下に今回使用する要約欄のテキストを追加。
- 画面中央の「Start」タブの一番上にある 「Summury」の所でさきほど入力した要約を選択、すぐ下にある「Lock」で要約を固定。
置換設定
[編集]- 画面中央の「Options」タブの真ん中にある「Find and Replace」で「Enabled」をチェック。
- そのすぐ右にある三つのボタンの中から「Advanced settings」を選び、ルール設定画面を呼び出す。
- 左上の「New」から「Rule」->「Find and Replace」を選択、「Find」の欄に検索条件を、「Replace」の欄に置換条件を入れる。そしてウィンドウ下部にある「Regular expression」という部分にチェックを入れる(#作業内容別 操作方法)。終わったら右下の「Close」
リスト作成
[編集]- 画面中央左の「Source」ドロップダウンから、リストの作成法を選ぶ。
- あるカテゴリに含まれる全ページ: Category
- あるページにリンクしている全記事: What links here
- あるページにリンクしている全ページ: What links here (all NS)
- あるテンプレートを呼び出してる全記事: What transclude page
- あるテンプレートを呼び出してる全ページ: What transclude page (all NS)
- すぐ下の空欄(「Make list」ボタンのすぐ上)に対象ページを入れ(Category:〇〇、Template:〇〇など)、「Make list」を押す。
作業スタート
[編集]- 画面中央の「Start」タブの右上にある「Start」を押す。
- 「Diff」を押して差分を確認、「Preview」でプレビュー
- 問題なければ緑色の「Save」ボタンを押して投稿 (ここで初めて本当に投稿される)。投稿すると自動的に次の記事へ移動する。まずければ右下の編集ボックスで手直しする、または編集せずに次の記事に行く「Skip」ボタン。再設定が必要なら「Start」のすぐ下にある「Stop」ボタンを押して中止。
- ブラウザでボットの投稿履歴を確認し、差分を見て、実際に投稿が上手くいっている事を確認。問題なければ続ける。問題あればやめる。
- 目の前に時計を置き、時間が早くなりすぎないように確認する。WP:VFで自分のボットアカウントをブラックリストに入れて、動作を監視しとくのも安心。
フォント設定
[編集]日本語フォントの選択(右下の編集ボックスが文字化けする場合)
- 画面上部の「Options」から「Preferences」を選び、その中にある「Editing and Saving」タブから、右下にある「set edit box font」を選択。
- 「MS Pゴシック」などの日本語フォントを選択して「OK」、設定画面も「OK」で閉じる。
- 画面左上の「File」から「Save settings as default」を選び、この設定を次回も使用できるよう保存。
練習またはテスト
[編集]- 画面上部の「List」から「Clear current list」を選び、一旦リストをすべて消す。
- 画面中央左の「Make list」ボタンのすぐ下の空欄に、「Wikipedia:サンドボックス」と入れ、すぐ右の「+」ボタンを押す。
- Wikipedia:サンドボックスに置換対象のテキスト(カテゴリやテンプレートなど)を自分のアカウントで手作業で書き込んで、実際に投稿、保存する。
- AWBで画面中央の「Start」タブの右上にある「Start」を押し、状況を確認。上で設定したルール(#作業内容別 操作方法)が、うまく自分がサンドボックスに書き込んだテキストを判定できているか。
- 「Diff」を押して差分を確認、「Preview」でプレビュー。
- 問題なければ緑色の「Save」ボタンを押して投稿 (ここで初めて本当に投稿される)。まずければ右下の編集ボックスで手直しする、再設定が必要なら「Start」のすぐ下にある「Stop」ボタンを押して中止。
- 自分がAWBから行った編集を、実際にWikipedia:サンドボックスの履歴から確認する。
- 練習ページは自分の利用者サブページなどでもOK。サンドボックスは共用なので、途中で他の人が編集することもある。
タイマー設定
[編集]- 投稿間隔を知るためのタイマーを表示させる。
ウィンドウの上のメニューから「Options」->「Preferences」->「Editing and Saving」->「Disdplay moving average timer」 にチェックを入れます。するとウィンドウ下のステータスバーに「Timer :」と書かれた時計が表示されるようになります。これで前回の投稿から何秒経過しているかが一目で分かるようになります。 - 一定の投稿間隔を設定する。
画面中央の「Bots」タブで「Auto save」にチェックを入れ、「Delay」に投稿間隔を秒で指定します。これにより「Start」ボタンを押すだけで、リスト内のページに対し、一定間隔で、自動で投稿が行なわれるようになります。この機能はまず置換条件を十分に確認し、動作をしっかりチェックしながら、自己の責任で使用して下さい。
Bot作業依頼用テンプレート・アイコン
[編集]{{BOTREQ}}
- {{BOTREQ|着手}} 着手します。
- {{BOTREQ|作業中}} 作業中...
- {{BOTREQ|完了}} 完了
- {{BOTREQ|済}} 済
- {{BOTREQ|調査中}} 調査中...
- {{BOTREQ|準備中}} 準備中...
- {{BOTREQ|一時停止}} 一時停止
- {{BOTREQ|再開}} 作業再開...
{{利用者の投稿記録}}
- [{{利用者の投稿記録|Wasabot|10|20100821123321}}] [1]
{{解決済み}} {{解決済み|依頼者によって確認されました。--~~~~}}
作業時間目安
[編集]計10ページ | 計50ページ | 計100ページ | 計200ページ | 計300ページ | 計500ページ | 計1000ページ | 特記事項 | |
---|---|---|---|---|---|---|---|---|
5秒間隔 | 1分 | 4分 | 8分 | 17分 | 25分 | 42分 | 1時間23分 | BOT標準 |
10秒間隔 | 2分 | 8分 | 17分 | 33分 | 50分 | 1時間23分 | 2時間47分 | 旧BOT標準 |
30秒間隔 | 5分 | 25分 | 50分 | 1時間40分 | 2時間30分 | 4時間10分 | 8時間20分 | AWB標準 |
60秒間隔 | 10分 | 50分 | 1時間40分 | 3時間20分 | 5時間 | 8時間20分 | 16時間40分 | 初期BOT標準 |
120秒間隔 | 20分 | 1時間40分 | 3時間20分 | 6時間40分 | 10時間 | 16時間40分 | 33時間20分 | |
180秒間隔 | 30分 | 2時間30分 | 5時間 | 10時間 | 15時間 | 25時間 | 50時間 |
計1000ページ | 計5000ページ | 計1万ページ | 計5万ページ | 計10万ページ | 計50万ページ | 計100万ページ | 特記事項 | |
---|---|---|---|---|---|---|---|---|
5秒間隔 | 1時間 | 7時間 | 14時間 | 2日21時間 | 5日19時間 | 28日22時間 | 57日21時間 | BOT標準 |
10秒間隔 | 3時間 | 14時間 | 28時間 | 5日19時間 | 11日14時間 | 57日21時間 | 115日18時間 | 旧BOT標準 |
30秒間隔 | 8時間 | 42時間 | 3日11時間 | 17日9時間 | 34日17時間 | 173日15時間 | 347日5時間 | AWB標準 |
60秒間隔 | 17時間 | 3日11時間 | 6日23時間 | 34日17時間 | 69日11時間 | 347日5時間 | 1年329日11時間 | 初期BOT標準 |
120秒間隔 | 33時間 | 6日23時間 | 13日21時間 | 69日11時間 | 138日21時間 | 1年329日11時間 | 3年286日21時間 | |
180秒間隔 | 50時間 | 10日10時間 | 20日20時間 | 104日4時間 | 208日8時間 | 2年311日16時間 | 5年258日8時間 |
関連項目
[編集]- Help:Pywikipediabot/正規表現 - pywikipedia用の正規表現の解説。説明の中にある\1、\2などがAWBでは$1、$2になる
- Wikipedia:Bot(WP:B)
- m:Bot policy/ja
- Wikipedia:スタイルマニュアル(WP:STY)
- 利用者:Freetrashbox/bot/ボットの作り方