「将棋DB2」から棋譜を半自動でダウンロード 2026年1月19日更新
Windowsコマンドプロンプトでの操作をご存知の方のために書いています。
用意するもの
- UWSC
- Clip2Txt または代替して使えるコマンド
- GNU wget コマンドまたは代替して使えるツール
- GNU grep コマンドまたは代替して使えるツール
- GNU uniq コマンドまたは代替して使えるツール
- Windows標準の「メモ帳」よりも高機能のテキストエディターやエクセル等
手順
- たとえば「新着の棋譜」の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をダウンロードする。
- どこかのフォルダにダウンロードしたファイルだけをコピーしてそこをカレントとして
grep コマンドと uniq コマンドにパスを通してコマンドプロンプトで
for %f in (*.*) do grep -Eho "[0-9a-f]{40}"
< %f | uniq | sort >> ID.txt
を実行すると40桁の棋譜IDが"ID.txt"に書き出される。
- 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" の変更だけで済めばよいのだが・・・・。
戻る