2021/12/15 よりサイトリニューアルしました

micropythonでWEBスクレイピングして当日の天気用データを取得する方法(やや強引)

WEBスクレイピング

 

少し前にM5Stackで2足歩行ロボットを作っていまして、歩くだけでは少し物足りなくなったので前面のボタンで天気予報でも表示してみるかとなったのですが、少々手こずったのでその時のメモ。

BeautifulSoupが使えれば苦労しないのですが、micropythonでは使えないので、その辺でハマりました。

なんとか解決はしましたが、タイトルにあるとおり少々強引(かなりかも。。)になっております。

ですので、なにとぞ一つ優しい目でご覧になってやってあげて下さい。

 

 

Requestsライブラリは使えるが。。

Requestsライブラリで気象庁の天気予報情報をXMLで参照できるが、 BeautifulSoupが使えないのでタグの指定が出来ず、全体の情報の中から「当日の天気用情報」だけを抜き取る必要がありました。

気象庁の天気予報情報 は、当日から1週間分用意されていて、下部に行くにつれて日付が新しくなっています。

この中から当日の天気予報だけを抜き取るには、日付を使うしかありません。↓

 

 

日付を指定してみるも。。

とりあえず、下記のように抜き取りたいXMLのデータと一致する文字列を用意しましたが、うまく行かず。

改行を入れてみるも。。

XMLのページを見てみると、info dateタグの後に改行が入っているので、改行を入れてみました。

ページの通り、インデントも合わせてみました。しかしうまく行かず。。

ページを見る限り、改行後のインデントは6スペース。

ここで半分諦めていた時にたまたま気づきました。

リプルに取得したxmlのデータを表示させてみると、

インデントのスペースが変わってる。。

改行後のインデントが8スペースになっているじゃないですか。。

最後の望みを託します。

 

 

成功!

再度スペースの数を変更した所、上手く当日の天気予報を取得する事が出来ました。

 

やや強引(かなりか。。)かもしれませんが、micropythonでもWEBスクレイピングで天気予報をゲット出来ました。

下の動画は、ボタン押下で当日の天気予報をWEBスクレイピングで取得し、映像で表示するようにしたものです。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です