質問: 現在私は青空文庫というページにあるデータを入力とする機械学習モデルを作ろうと考えています。 そのモデルの入力として青空文庫() にある作品のテキストデータとその作品の初版発行年が必要なのですが、これらのデータを抽出する方法がわからず困っています。 青空文庫には様々な作家による小説が保存されていて、ブラウザで直接個別の作品にアクセスできます。 例えば、青空文庫のトップページから以下のように「ああ華族様だよ と私は嘘を吐くのであった」という作品のページに飛ぶとテキストデータをダウンロードでき、その末尾の底本情報に以下のように初版出版年などが書かれています。 ![青空文庫のトップページ](https://i.stack.imgur.com/6MvjD.png) ![上の写真のページであ行の作品のページに飛んだ場合](https://i.stack.imgur.com/yggaw.png) ![上の写真のページからで「ああ華族様だよ と私は嘘を吐くのであった」という作品のページに飛んだ場合](https://i.stack.imgur.com/dUBLv.png) ![上のページからダウンロードしたテキストファイルに書かれている情報](https://i.stack.imgur.com/32bav.png) 最初はスクレイピングでデータ抽出することを考えたのですが、githubで青空文庫のデータを一括ダウンロード() できることや野良APIであるPubserver() を利用することができることも知りました。ただ、やはり青空文庫の全ての作品に対してテキストデータと初版発行年を抽出し、後で機械学習にかける入力として作品ごとのテキストデータと初版発行年の組をそれぞれ区別して保存する方法がわからずに混乱しています。 例えば、上にあげたgithubからデータをダウンロードする場合、cardsに入っている各ファイルの中にあるfilesからテキストデータと初版発行年が埋め込まれたzipファイルを全ての作品についてparseするのが良いのでしょうか? 初心者的な質問で申し訳ないのですが、アドバイスをいただけると大変助かります。
回答: GitHubのリポジトリで公開されているデータは、青空文庫ホームページのミラーなので、単にデータを抽出する目的だけを考えればどちらを元にしても同じかと思います。 ただし「全データ」を対象に取得を考えているなら、GitHubリポジトリからの取得を考えるべきです。 数件程度のピンポイントであればホームページに対してのスクレイピングでも構わないのかもしれませんが、全データを対象にリクエストを送ると相手先へのトラフィックで間違いなく負担をかけてしまいます。