物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

PythonでWikipediaに登場するひらがなの数を数えてみる

Wikiediaには、ランダムなページに飛んでくれるSpecialなURLがある。

https://ja.wikipedia.org/wiki/Special:Randompage

これを使って、適当なページに存在するひらがなの数を数えてみる。

import matplotlib.pyplot as plt
import urllib.request

n_pages = 10
# ラムダムなページをダウンロードし、ファイルに保存
url = "https://ja.wikipedia.org/wiki/Special:Randompage"
for i in range(n_pages):
    urllib.request.urlretrieve(url, "{0:05d}.txt".format(i))

# ひらがなリスト
hira_lists = [chr(i) for i in range(12353, 12436)]

hira_counter = {}
# ひらがなの数のカウンターを初期化
for hira in hira_lists:
    hira_counter[hira] = 0

# Wikipediaのページを読み込み、ひらがなの数を数える
for i in range(n_pages):
    with open("{0:05d}.txt".format(i), encoding="utf-8") as f:
        text = f.read()
        for hira in hira_lists:
            hira_counter[hira] += text.count(hira)

# カウンター内を表示
print(hira_counter)

moji = [key for key in hira_counter.keys()]
kazu = [value for value in hira_counter.values()]
print(moji, kazu)
plt.plot(moji, kazu)
plt.show()

結果

f:id:onsanai:20200707141516p:plain

「の」が一番多い。