「将棋DB2」から棋譜を半自動でダウンロード 2026年9月18日更新
Windowsコマンドプロンプトでの操作をご存知の方のために書いています。
用意するもの
- UWSC
- 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桁i以上の棋譜IDが"ID.txt"に書き出される。(棋譜IDは変更されたことがある。2026年1月にはIDはすべて40桁であった。)
- Microsoft Edge を既定のwebブラウザーとして設定した環境でそれ起動した状態で
"GetKifu.zip"
中の "GetKifu.uws" と "ID.txt"
とを同じフォルダに置いて UWSC で実行すると
kif ファイルのダウンロードが行われる。実行速度は遅いが終了するまでPCには触らない。途中で一時終了するには
Ctrl + F2 キーを押す。"ID.txt" の終了したIDを削除すれば再開できる。Microsoft
Edge は F11 キーで全画面表示にしているので
F11 を再度押すと元に戻る。
1920x1080の画面で Microsoft Edge の文字の大きさ100%で動作確認しているが、違う環境では
"GetKifu.uws" の書き換えが必要。また、実行速度を速めるように
"GetKifu.uws" 中の SLEEP の秒数を書き換えることもできるがあまり速くするとダウンロードを取りこぼすかもしれない。
何等か原因でダウンロードに失敗したIDは再度
"ID.txt" を作成して UWSC を実行する。
「将棋DB2」サイトの変更によりいつ動作しなくなるかはわからない。その時
"GetKifu.uws" の変更だけで済めばよいのだが・・・・。
<ホーム>