プログラミングをする魚

競プロの統計情報とか

こるぼーブログの挨拶文一覧を取得してみた

僕の友人がブログをやっているのですが、僕は彼の記事の挨拶文が好きです。そこで今回はその挨拶文を自動で取得してテキストファイルとして保存することにしました。

彼の挨拶は必ず「おはようございます。」から始まっていますが、この部分は別にいらないので省くとして、収集したいのは2文目です。 以前 AtCoder 上の情報を取得するのに Python を利用したスクレイピングを身に付けたので、今回はそれを利用します。

from urllib import request
from bs4 import BeautifulSoup

url = "https://zero-kpr.hatenablog.com/archive"

html = request.urlopen(url)
soup = BeautifulSoup(html, "html.parser")

p = soup.find_all("p")

greeting_list = []  # 挨拶文のリスト

for tag in p:
    descri = tag.string
    if descri:
        # 文章を区切り、二文目のみにする
        text_list = str(descri).replace("\n", "").replace(" ", "").split("。")
        if len(text_list) > 1:
            greeting_list.append(text_list[1] + "。")

# 邪魔な部分を消し、改行区切りで文字列にする
greeting_text = "\n".join(greeting_list[:-3])

with open("zero_kpr_greeting.txt", mode="w") as f:
    f.write(greeting_text)

適当にぐちゃぐちゃやってたらコードが完成しました。

f:id:saba_kpr:20191218065732p:plain

コードを実行することで無事取得し保存することができました。こうして一覧で見てみるとあんまり面白くないですね。