どうも、初めまして。WEB系転職活動中のりゅうです!
~~引きこもりニート生活をしているため、~~特に、外出を自粛しているわけではないですが、
コロナウイルスの状況がよろしくないというため気になって調べてみました。
そうすると、厚生労働省のサイトに
**「新型コロナウイルス感染症の現在の状況と厚生労働省の対応について」**というのがあったので、
何となくですが、スクレイピングして現状をデータ分析してみました。
スクレイピングする
tableget.py
import requests
from bs4 import BeautifulSoup
import csv
# 新型コロナウイルス感染症の現在の状況と厚生労働省の対応について(令和2年2月21日版)
url = 'https://www.mhlw.go.jp/stf/newpage_09690.html'
r = requests.get(url)
if r.status_code == requests.codes.ok:
soup = BeautifulSoup(r.content, 'html.parser')
data = [[[td.get_text(strip=True) for td in trs.select('th, td')]
for trs in tables.select('tr')]
for tables in soup.select('table')]
# 取得テーブル数確認
#print(len(data))
# 2番目のテーブル ※ダイヤモンドプリンセス号以外の患者数テーブルを取得
table = data[2]
#確定日,年代,性別,居住地の列番号のデータを取得
columns = [2,3,4,5]
result = [[rows[i] for i in columns] for rows in table]
with open("corona_data.csv", "w", encoding="Shift_jis") as f: # 文字コードをShift_JISに指定
writer = csv.writer(f, lineterminator="\n") # writerオブジェクトの作成 改行記号で行を区切る
writer.writerows(result) # csvファイルに書き込み
※カンマ区切りのファイルとして保存できる
seabornでスタイリッシュに可視化
感染が確認された県をjapanmapライブラリを用いて可視化
まとめ
国内事例(チャーター便帰国者を除く)の公表データからですが、
割合としては男性が多く、特に中年層(50-60代)の方多いですね。
最後に
今回は、BeautifulSoupを使ったスクレイピングとseaborn/matplotlibを用いたデータの
可視化を行いました。
未使用要素(確定日など)もあるのでそういうデータを使ってみるのも何らかの関係性が出せそうで
良きかもです。
あまり効果は期待できませんが、マスクなどできる対策はしましょう!
それでは✋