done is better than perfect

自分が学んだことや、作成したプログラムの記事を書きます。すべての記載は他に定める場合を除き個人的なものです。

青空文庫のクローラをGo言語で作った

青空文庫のクローラをGo言語で書いてみました。

実際の実装はGitHubリポジトリを見てもらえればわかると思います。 基本的にはトップページ→インデックスページ→図書カードページ→zipの流れで取ってきています。

Goroutinesを使ってConcurrentに取ってこられるようにしたつもりですが よく考えたら同一ドメインへのアクセスなので余り意味なかった気が…。

青空文庫のファイルは全てShift-JISみたいなので、拡張するならダウンロードしたファイルを一回解凍してから中のエンコードを書き換えて、また圧縮するといったような実装も考えられますね。

また、単に青空文庫のファイルが欲しいという方は青空文庫のリポジトリから取ってきたほうがいいと思います。