将棋DB2」から棋譜を半自動でダウンロード 2026年1月19日更新

 

Windowsコマンドプロンプトでの操作をご存知の方のために書いています。

用意するもの

手順

  1. たとえば「新着の棋譜」の1ページ目のアドレスは https://shogidb2.com/newrecords?q=&page=1 でページを選択するボタンは50ページまでしかないが、アドレスで指定すると https://shogidb2.com/newrecords?q=&page=500 のように500ページまで開ける。そこで、

    wget https://shogidb2.com/newrecords?q=&page=1
    wget https://shogidb2.com/newrecords?q=&page=2
    wget https://shogidb2.com/newrecords?q=&page=3
    ・・・・・・

    のようなダウンロードしたい棋譜が含まれるページをまとめてダウンロードするバッチファイルを作成し、wget コマンドにパスを通して実行してページのhtmlをダウンロードする。

  2. どこかのフォルダにダウンロードしたファイルだけをコピーしてそこをカレントとして grep コマンドと uniq コマンドにパスを通してコマンドプロンプトで

    for %f in (*.*) do grep -Eho "[0-9a-f]{40}" < %f | uniq | sort >> ID.txt

    を実行すると40桁の棋譜IDが"ID.txt"に書き出される。

  3. Clip2Txt コマンドにパスを通し、Microsoft Edge を起動した上で "GetKifu.zip" 中の "GetKifu.uws" と "ID.txt" とを同じフォルダに置いて UWSC で実行すると kif ファイルのダウンロードが行われる。実行速度は遅いが終了するまでPCには触らない。途中で一時終了するには Ctrl + F2 キーを押す。"ID.txt" の終了したIDを削除すれば再開できる。Microsoft Edge は F11 キーで全画面表示にしているので F11 を再度押すと元に戻る。
    1920x1080の画面で Microsoft Edge の文字の大きさ100%で動作確認しているが、違う環境では "GetKifu.uws" の書き換えが必要かもしれない。また、実行速度を速めるように書き換えることもできるがあまり速くするとダウンロードを取りこぼすかもしれない。
    千日手局ではKIF形式ファイルが存在しないようなのでCSA形式ファイルを代わりにダウンロードしている。

「将棋DB2」サイトの変更によりいつ動作しなくなるかはわからない。その時 "GetKifu.uws" の変更だけで済めばよいのだが・・・・。

 

戻る