コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:赤の旋律/pwb

pwbを使う上で将来役に立つかもしれないことのメモ。

replace.py
  • 空編集を起こす
replace.py内の504行あたりの
            if self.acceptall and new_text != original_text:

            if self.acceptall:

に置き換え、439行あたりの

if new_text == original_text:
                    pywikibot.output(u'No changes were necessary in %s'
                                     % page.title(asLink=True))
                    break

をすべてコメントアウトする。これによってセーフ機能の回避が可能


セットアップ

[編集]

Pythonのインストール

[編集]

pywikipediaを使うためには、Pythonバージョン2.4以上が必要です。Pythonバージョン2.3で動くコードも多いですが、2.3での動作確認は行われていません。ただし2011年1月現在、バージョン3には対応していません。

Pythonは、ほとんどのプラットフォーム(Unix、Linux、Mac、Windows)で使えます。

  • WindowsにはActivePythonが便利ですが、やや遅いです。ここからダウンロードできます。
  • Unixには最初からPythonがインストールされているので、インストールする必要はありません(ただし、非常に古いバージョンのUnixの場合には、Pythonがインストールされていなかったり、Pythonのバージョンが古かったりする場合があります。その場合にはアップデートが必要です)。
  • MacでMac OS Xを使っている場合は、インストールの必要はありません。
  • その他の場合、あるいはインストールされているバージョンが古い場合には、http://www.python.org/download/ からダウンロードしてインストールしてください。

pywikipediaのダウンロード

[編集]

最も簡単な方法は、PyWikipediaBot PyWikipediaBot Nightliesの「pywikipedia - The packages」からダウンロードすることです(ただしこのファイルは前日の時点での最新版です)。古いバージョンが必要な場合はSourceforgeからダウンロードできます。ダウンロードしたファイルを展開します。展開する場所は、できるだけ浅い位置のディレクトリが便利でしょう。

Mac OS Xの場合には、ここにある説明をお読み下さい。ファイルはここからダウンロードできます。"Check out"でコピーが可能です。

SVNを使ったダウンロード

[編集]

(上記の前日の時点の最新バージョンではなく)最新のバージョンをダウンロードしたい場合には、SVNが便利です。SVNを使うと、日頃のバージョンアップも非常に簡単です。多くのUnixにはSVNが標準でインストールされています。Windowsの場合は TortoiseSVNを利用しましょう(Microsoft Windows 7の場合は64ビット版がよいでしょう)。Mac OS Xの場合はこの説明を読んでください。

Unixなどで、コマンドラインを使ってBotをチェックアウト(ダウンロード)するには、以下のコマンドを使用します:

上のコマンドを実行すると、カレント作業ディレクトリ(Unixではpwdコマンドか変数$PWDで確認、Cygwinなど他の環境では環境設定で確認できます)に「pywikipedia」という名前で新しいディレクトリが作成されます。

コマンドラインを使ってダウンロードしたファイルを後日アップデートするには、作業ディレクトリをpywikipediaに移動してから、以下を打ちます。

$ svn update

TortoiseSVNなど、コマンドラインツール以外では必要な情報はリポジトリのパスのみです:http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/

Botのメーリングリスト

[編集]

Botメーリングリストに登録するのは、良い考えでしょう(こちらを参照)。Botソフトウェアのファイルが更新されるたびにリストにメールが送られるので、新しいバージョンにアップデートする必要があるかどうか確認できます。

アカウント取得

[編集]

ボットの運用条件や注意事項については Wikipedia:Bot を参照してください。

大規模な編集を行う場合は、Botのアカウントは通常の利用者と区別するため、専用のアカウントを取得しなければなりません。これは、Botフラグを付与することで最近更新されたページからBotの編集を隠すためです。ウェブブラウザを使ってあなた自身が手動で取得してください。利用者名は、通常「bot」の文字が後ろに付けられることが推奨されます。パスワードはあなた自身のアカウントと別のものがよいでしょう。

user-config.py の設定

[編集]

編集可能な環境変数の初期値は config.py にあります。これを直接書き換えるとSVNでのアップデートで支障が出ることがあるため、お勧めできません。値を変更する場合には、同じ階層に user-config.py を作成します。user-config.py だけで設定を上書きしていくことで、初期値に戻したい場合、削除することで対応できます。

アカウントに関する設定

[編集]

以下の節では、アカウントに関する設定について説明しています。なお、testfamily.py というプログラムがある場合は、実行することで簡易設定を行うことができます。(説明省略)

ウィキペディアの場合
[編集]

メモ帳などのテキストエディタを開きます。

以下のように打ちます:

 mylang = 'xx'

xx には、動作させる言語コードが入ります。日本語版では、"ja"が入ります。

このテキストファイルをuser-config.pyという名前で、ダウンロードしたpyファイルと一緒のフォルダに保存します。

複数の言語で動作させたいなら、コマンドライン引数の-langパラメータで指定できるので、ここでは最もよく使う言語コードを指定しましょう。

user-config.pyでは、Botの利用者名を指定する必要があります。

ウィキペディア日本語版で動作させるとします。「ExampleBot」という利用者名でBotのアカウントを取得しているならば、以下のようにuser-config.pyに追記します。

 usernames['wikipedia']['ja'] = u'ExampleBot'

利用者名の前の'u'は、Unicodeを表しています。詳しくは Python 自体のヘルプを見てください。

複数のwikiで動作させたいなら、以下のように複数の利用者名を指定できます。

 usernames['wikipedia']['de'] = u'BeispielBot'
 usernames['wikipedia']['en'] = u'ExampleBot'
 usernames['wiktionary']['de'] = u'BeispielBot'

管理者権限が必要なスクリプト(speedy_delete.py、redirect.py brokenなど)は、以下のように管理者権限を持つアカウントを追記します。

 sysopnames['wikipedia']['ja'] = u'SysopName'
ウィキペディア以外のウィキサイトの場合
[編集]

メモ帳などのテキストエディタを開きます。

以下のように打ちます:

mylang = 'xx'

xx には、動作させる言語コードが入ります。日本語では、"ja"が入ります。

次に以下のように打ちます:

family = 'sitename'

"sitename"は、動作させるサイト名です。

wiktionary、wikibooks、wikiquoteなどやウィキメディア・プロジェクトではないwikitravelなども指定できます。(familiesフォルダに一覧があります。)

Wikimedia Commonsで動作させるなら、"mylang"と"family"に'commons'を指定します。

 mylang='commons'
 family='commons'
 usernames['commons']['commons']='UserBot'
familyフォルダにウィキサイトが無い場合
[編集]

ウィキが family フォルダのリストに無い場合は、適切な _family.py ファイルを作成する必要があります。作成に関する説明は省きますので、meta:Pywikipedia bot on non-Wikimedia projectsを参照してください。

この場合でも user-config.py の設定を行ないます。

ウィキ名 Memory Alpha (memoryalpha) の英語版 (en) で動作させるとします。「ExampleBot」という利用者名でBotのアカウントを取得しているならば、以下のように記述します:

 mylang = 'en'
 family = 'memoryalpha'
 usernames['memoryalpha']['en'] = u'ExampleBot'

このテキストファイルをuser-config.pyという名前で、ダウンロードしたpyファイルと一緒のフォルダに保存します。

その他の設定

[編集]

当面は安全のため、ボットの速度を落としましょう。user-config.pyput_throttle = 30 いう行を追加します。これはPywikipediaBotの編集間隔の秒数です。デフォルトは10です。

ウィキペディア日本語版では、どんなに早い場合でも10秒以上(毎分6回)の間隔を守らなくてはなりません。Botフラグ無し、かつ、大量編集する場合には60秒以上の間隔を求められます。編集間隔を60秒より大きい値にする場合には、maxthrottle = 120 という行を追加します。これは編集間隔の最大値を制限し、この場合は120秒になります。

Botフレームワークがサポートしているスキンは、Monobook のみです。デフォルトから変更しないようにしましょう。

命令実行のショートカット作成(Windowsユーザ向け)

[編集]

Pywikipediabotをマイドキュメントのような階層の深いフォルダにインストールしているなら、Botを動作させるたびにcdコマンドでフォルダに移動するのは、非常に厄介な作業です。

Windowsでは、簡単にBotを動作させるためにコマンドプロンプトを開くショートカットを作成することができます。 以下のステップに従って作成します:

  1. pywikipediaがインストールされているフォルダを開く。
  2. 右クリックのメニューから「新規作成 -> ショートカット」をクリックする。
  3. "cmd.exe"を入力して、「次へ」をクリックする。
  4. ショートカット名には"Pywikipediabot"など相応しい名前を入力する。
  5. 作成したショートカットを右クリックしてメニューを表示して、「プロパティ」をクリックします。
  6. 「ショートカット」タブの「作業フォルダ」の項目に、Pywikipediabotがインストールされたディレクトリへの絶対パスを記述します。
  7. 変更を保存して、ショートカット作成の完了です。

また、Pythonのパスも追加しておきましょう(例えばPythonを「C:\Python」にインストールした場合、Windows XPの場合は「コントロールパネル」→「システム」→「詳細設定」→「環境変数」と進んで、「システム環境変数」の変数「Path」を「編集」で開いて、元の文字列の末尾に「;C:\Python」と追加します)。