【Python/Beautifulsoup4】気象庁の地震情報(震度速報)を取得

Python用Webスクレイピングモジュール「beautifulsoup4」で気象庁のWebページから「地震情報(震度速報)」を取得する方法についてソースコード付きでまとめました。

気象庁のWebページから「地震情報(震度速報)」を取得

Python用Webスクレイピングモジュール「beautifulsoup4」を用いて、気象庁のWebページから「地震情報(震度速報)」を取得し、テキストファイルに保存します。

参考ページ
1 気象庁 地震情報(震度速報)
2 気象庁ホームページについて

サンプルコード(Python3)

サンプルプログラムのソースコードです。

# -*- coding:utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup

def get_quake(path):
    html = urllib.request.urlopen("http://www.jma.go.jp/jp/quake/quake_sindo_index.html")
    soup = BeautifulSoup(html, "lxml")
    infotable = soup.find_all("div", attrs={"id": "info", "class": "infotable"})
    body = [e.text for e in infotable]

    # txtファイルに保存
    with open(path, "w") as f:
        f.write("".join(body))

# 地震情報の最新履歴をtxtファイルに保存
body = get_quake("data.txt")

実行結果

サンプルプログラムの実行結果です。

data.txtの中身

震度速報

地震の揺れの検知日時
最大震度
情報発表日時

2018年 6月18日16時31分震度3 6月18日16時33分
2018年 6月18日07時58分震度6弱 6月18日08時01分
2018年 6月18日07時58分震度6弱 6月18日08時00分
2018年 6月18日07時58分震度6弱 6月18日08時00分
2018年 6月17日15時27分震度5弱 6月17日15時30分
2018年 6月17日15時27分震度4 6月17日15時29分
2018年 6月17日15時27分震度4 6月17日15時29分
2018年 6月16日11時09分震度4 6月16日11時10分
2018年 6月14日22時51分震度3 6月14日22時53分
2018年 6月14日19時04分震度3 6月14日19時06分
2018年 6月12日05時09分震度3 6月12日05時10分
2018年 6月12日04時54分震度4 6月12日04時57分
2018年 6月12日04時54分震度4 6月12日04時56分
【Python】Webスクレイピング入門(BeautifulSoup4編)
Pythonモジュール「BeautifulSoup4」を用いたWebスクレイピングについて入門者向けにまとめました。

コメント