青空文庫から作品をスクレイピングする

最終更新日:


動機
機械学習で学んだことをアウトプットするために自動文章作成でもやろうと思い立つ。
そのためのデータ集めに青空文庫のデータをスクレイピングした結果、それなりに時間がかかったので覚書きを残しておく。
使うツール
BeautifulSoupライブラリ
青空文庫API 青空文庫APIサーバーのご紹介
コード
hoge.htmlとしてデータを保存。
book_id = “937”
!wget http://pubserver2.herokuapp.com/api/v0.1/books/{book_id}/content?format=html -O hoge.html
BeautifulSoup を使ってファイルを読み込み。
このときshift_jisじゃないとエラー吐くので注意
# BeautifulSoup 導入 
from bs4 import BeautifulSoup
soup = BeautifulSoup(open(“hoge.html”,encoding=”shift_jis”))
# find(タグネーム、保有している属性,etc…)
# 本文が書かれているを取り出す
main_text=soup.find(“div”,”main_text”).text
print(main_text)
ルビ 例:蜻蛉(とんぼ)と全角スペースを取り除く。
import re
result = re.sub(r'([\(|\(][0-9|a-z|ぁ-ん]*[\)|\)])’, “”, main_text)
result2 = re.sub(r’ ’, “”, result)
print(result2)
この先の展望
IDを用いてデータを取り出す。
# 夢野久作の作品IDのスクレイピングを目指す
# 作品数154個
from bs4 import BeautifulSoup
!wget https://www.aozora.gr.jp/index_pages/person96.html -O index.html
soup = BeautifulSoup(open(“index.html”,encoding=”utf-8″))
ol=soup.find(“ol”).text
import re
num1 = re.findall(‘(\(.+[0-

サイト名: Qiita

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する