利用者:赤の旋律/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
をすべてコメントアウトする。これによってセーフ機能の回避が可能
セットアップ
[編集]Macを使用する場合は、こちらをお読みください。 |
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をチェックアウト(ダウンロード)するには、以下のコマンドを使用します:
$ svn checkout http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia
次のようにファイルのスペルチェックを無効にすると時間短縮になります:
$ svn checkout --ignore-externals http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia
上のコマンドを実行すると、カレント作業ディレクトリ(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.py
に put_throttle = 30
いう行を追加します。これはPywikipediaBotの編集間隔の秒数です。デフォルトは10です。
ウィキペディア日本語版では、どんなに早い場合でも10秒以上(毎分6回)の間隔を守らなくてはなりません。Botフラグ無し、かつ、大量編集する場合には60秒以上の間隔を求められます。編集間隔を60秒より大きい値にする場合には、maxthrottle = 120
という行を追加します。これは編集間隔の最大値を制限し、この場合は120秒になります。
Botフレームワークがサポートしているスキンは、Monobook のみです。デフォルトから変更しないようにしましょう。
命令実行のショートカット作成(Windowsユーザ向け)
[編集]Pywikipediabotをマイドキュメントのような階層の深いフォルダにインストールしているなら、Botを動作させるたびにcdコマンドでフォルダに移動するのは、非常に厄介な作業です。
Windowsでは、簡単にBotを動作させるためにコマンドプロンプトを開くショートカットを作成することができます。 以下のステップに従って作成します:
- pywikipediaがインストールされているフォルダを開く。
- 右クリックのメニューから「新規作成 -> ショートカット」をクリックする。
- "cmd.exe"を入力して、「次へ」をクリックする。
- ショートカット名には"Pywikipediabot"など相応しい名前を入力する。
- 作成したショートカットを右クリックしてメニューを表示して、「プロパティ」をクリックします。
- 「ショートカット」タブの「作業フォルダ」の項目に、Pywikipediabotがインストールされたディレクトリへの絶対パスを記述します。
- 変更を保存して、ショートカット作成の完了です。
また、Pythonのパスも追加しておきましょう(例えばPythonを「C:\Python」にインストールした場合、Windows XPの場合は「コントロールパネル」→「システム」→「詳細設定」→「環境変数」と進んで、「システム環境変数」の変数「Path」を「編集」で開いて、元の文字列の末尾に「;C:\Python」と追加します)。