Help:Pywikipediabot/replace.py
表示
replace.py は、直接文字の置換を行う汎用性の高い Bot スクリプトです。XMLのダンプデータ、リストファイル、指定されたページに対して処理を行います。
このスクリプトの使用になれていない場合は、こちらを参照してください。基本的な事項が書かれています。
引数
引数 | 説明 |
---|---|
-xml | ローカルのXMLダンプから情報を取得します(Wikipedia:データベースダウンロード を参照)。例、「-xml:ファイル名」 |
-page | 特定のページを対象に追加します。複数回使用できます。例、「-page:卵かけご飯」。 |
-cat | 指定したカテゴリの全ページを対象に追加します。例、「-cat:主要カテゴリ」。 |
-subcat | 指定したカテゴリとサブカテゴリ以下の全ページを対象に追加します。例、「-subcat:主要カテゴリ」。 |
-uncat | カテゴリ未導入のページを対象に追加します。 |
-uncatcat | カテゴリ未導入のカテゴリを対象に追加します。 |
-uncatfiles | カテゴリ未導入の画像を対象に追加します。 |
-file | 指定したテキストファイルから対象リストを読み込みます。例、「-file:list.txt」。なお、このテキストファイルは使用する文字コード(例えばUTF-8)で保存しておかなければなりません。 |
-filelinks | 指定したメディアファイルを使用したページを対象に追加します。例、「-filelinks:画像です.jpeg」 |
-yahoo | Yahoo検索で見つかったページを対象に追加します。処理は、Pythonモジュールの「pYsearch」に依存します。使用するには、config.py の yahoo_appid で設定が必要です。 |
Google検索で見つかったページを対象に追加します。使用するには、config.py の google_key で設定が必要です。 | |
-search | メディアウィキの検索で見つかったページを対象に追加します。対象は、全名前空間です。 |
-interwiki | |
-withoutinterwiki | 言語間リンクがないページを対象に追加します。例、「-withoutinterwiki:10」のように処理するページ数を指定できます。 |
-links | 指定したページ内でリンクされているページを対象に追加します。例、「-links:トイレ」。 |
-new | 新しいページの60ページを対象に追加します。「-new:100」のようにページ数は変更できます。 |
-ref | 指定したページにリンクしたページを対象に追加します。例、「-ref:ツル」(特別:Whatlinkshere/ツル を参照)。なお、やや古いバージョンにはバグがあるので正しく動作しません。最新版で実行してください。 |
-start | 指定したページからASCII順に処理することを指定します。例、「-start:カメ」(特別:Allpages/カメ を参照)。 |
-prefixindex | 指定した文字で始まるページを対象に追加します。名前空間も指定できます。例、「-prefixindex:Wikipedia:あいさつ」(特別:Prefixindex/Wikipedia:あいさつ を参照)。 |
-transcludes | 指定したテンプレートにリンクしたページを対象に追加します。例、「-transcludes:Aimai」(特別:Whatlinkshere/Template:Aimai を参照)。 |
-unusedfiles | 使われていない画像を対象に追加します。例、「-unusedfiles:10」のように処理するページ数を指定できます。 |
-unwatched | |
-usercontribs | 指定した利用者の投稿記録を対象に追加します。例、「-usercontribs:Example」。 |
-weblink | 指定したURLへの外部リンクをしているページを対象に追加します。例、「-weblink:google.co.jp」。 |
引数 | 説明 |
---|---|
-always | 処理毎の確認メッセージを非表示にします。 |
-regex | 正規表現を有効にします。この引数を指定しないなら、単純な文字置換のみの処理がなされます。 |
-nocase | 正規表現で大文字と小文字を区別しなくする。 |
-dotall | ドット(.)が改行を含むすべてのキャラクタにマッチします。このオプションを指定しない場合、ドットは改行にマッチしません。 |
-multiline | 表現 ^ と $ が、それぞれ各行の先頭と末尾にマッチするようになります。 |
-summary | 要約欄に記述されるメッセージをオリジナルのものと置き換えます。例、「-summary:ボットですよ」。 |
-namespace | 処理する名前空間の名前または変数を指定します。複数回使用できます。他の引数と組み合わせて使用します。ただ、-start 引数は、「-start:Category:カメ」のように指定しなければなりません。 |
-xmlstart | (-xml 指定時のみ有効) XMLダンプから情報を取得する際、指定したページが現れるまでページをスキップします。 |
-addcat | 対象ページすべてに指定したカテゴリを追加します。 |
-excepttitle | 指定した文字列がタイトルに含まれるページを処理をスキップします。-regex 引数が指定されているなら、正規表現が有効になります。 |
-requiretitle | 指定した文字列がタイトルに含まれるページのみ処理します。-regex 引数が指定されているなら、正規表現が有効になります。 |
-excepttext | 指定した文字列が含まれるページの処理をスキップします。-regex 引数が指定されているなら、正規表現が有効になります。 |
-exceptinside | |
-exceptinsidetag | |
-fix | あらかじめ定義されているタスクを実行します。タスクの詳細は fixes.py で定義されています。-fix を指定した場合、-regex や -nocase、通常の置換処理は無視されます。 |
-recursive | 置換処理を再帰的に行います。無限ループを引き起こす可能性があるので注意してください。 |
-allowoverlap | |
その他 | 第1引数には置換対象の文字列、第2引数には置換する文字列を指定します。-regex 引数が指定されているなら、正規表現が有効になります。新旧文字列のペアは複数指定することができます。 |
すべての Bot で利用可能なグローバル引数
-lang:xx | Bot を稼動させたいウィキの言語コードを設定します(日本語であれば "ja")。これはウィキメディア・コモンズのための "-lang:commons"を除く user-config.py(における言語コード)の設定をオーバーライドします。 |
-family:xyz | Bot を稼動させたいウィキペディア、ウィクショナリー、ウィキメディア・コモンズ…といったウィキ・ファミリーを設定します。これは user-config.py における設定をオーバーライドします。 |
-help | Bot の解説やコマンド引数などのヘルプ文書を表示します。 |
-log | ログファイルの出力を有効にします。logs サブディレクトリに保存されます。 |
-log:xyz | ログファイルをファイル名 xyz として出力を有効にします。 |
-nolog | ログファイルの出力を無効にします(もし、user-config.py における設定が使用可能であれば)。 |
-putthrottle:n -pt:n |
動作間隔。Bot がページの編集を保存してから次の保存までの時間を秒数で指定します。 |
使用例
テンプレート指定の古い文法(例:{{msg:Stub}})を新しい文法(例:{{Stub}})に変更する:
python replace.py -xml -regex "{{msg:(.*?)}}" "{{\1}}"
複数行にマッチさせる例:
python replace.py -regex -start:! "First line\nSecond line" ""
ローカルのXMLダンプ foobar.xml から情報を取得し、"Errror" という typo を "Error"に修正する:
python replace.py -xml:foobar.xml "Errror" "Error"
「John Doe」というページで、HTML タグを wiki 文法に変換する:
python replace.py -page:John_Doe -fix:HTML
引数なしで bot を実行し、置換処理が必要になるたびに確認メッセージを表示させる:
python replace.py -file:blah.txt