« 2021年2月 | トップページ | 2021年4月 »

2021年3月31日 (水)

川の防災情報リニューアルの件の続き 【2】 ( メモ )

その後の状況です。

新しい川の防災情報からデータを取るのは、かなりしんどそうなのですが、これでもSEの端くれ。ちょっとこのままにしてしまうのも悔しいので頑張っております。

現在レンタルしている共有サーバーでは管理者権限がないからどうも無理っぽいので、新たにVPSをレンタルしました。

環境構築して、いろいろインストールして、手順をググりながらやるんですが、何やるにしても、いちいち、どこか違っていて引っかかります。

そうなるとつぶすのに、あっちググりこっちググりです。

会社員の頃は、月曜に出社すると、「週末、家のパソコン3台、再インストールしましたよ~」みたいな感じで、いい汗かきました的な人とか時々いましたけど、私は苦手なうえに嫌いなのです。インストールは労働以外の何物でもありません。

環境的には、
・centOs7
・Python3
・BeautifulSoup
・selenium

それで、漸く、環境が整ったら、そこから先もめんどい。

前の携帯版サイトは簡単だったのですが、今度のはかなり手ごわいです。

Photo_20210330235101

2_20210330235201

それでもどうにかこうにか、データがとれるところまで来ました。(上図)

ここから先もそこそこ長い。

それで、やはり結構遅いです。

内部的にブラウザーを起動しているので仕方ないのですが、今までよりかなり遅いです。

あと、一応、一般向けに公開しているAPIがないか問い合わせました。

トップ画面にツールでアクセスしてくれるなと書いてあるので、その本気度も確認したかったというのもあのます。

そういう事もあって、最終的に公開できるかどうかはグレーですが、とりあえず、進めております。

 

| | コメント (0)

2021年3月26日 (金)

川の防災情報リニューアルの件の続き( メモ )

いろいろ試したり調べたりしておりまして、覚え書きとして途中状況を残しておきます。

 

1. 状況

 1) 新しい川の防災情報は、動的に生成されるページとなっている

  htmlのsourceは以下の様になっている。

<body>
<noscript>
<strong>We're sorry but web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id=app>
</div>
<script src=/kawabou/js/chunk-vendors.46e37b4f.js></script>
<script src=/kawabou/js/app.a77cee51.js></script>
</body>

 

  参考 調布橋のページ

  https://www.river.go.jp/kawabou/mb/tm?zm=15&clat=35.7819444&clon=139.27907756384582&fld=0&ofcCd=21320&itmkndCd=4&obsCd=4

 

 2) 調査状況

 こちらのサーバーに、htmlをupしたり、jsファイルをアップしたりして、中身も少し変えてテストしているが、コードの分量も多いし、上記の2ファイルの中から、さらにへ別のファイルを読んでいるので、解析が大変。

 なんとなくクロスドメイン制約でアウトな予感がかなりする。

 このあたりは素人でよくわからない。

 

2. 対応方法として考えられる案

 1) APIを見つけ出してデータを取得する。

  a) クロスドメイン制約など、セキュリティ的な面で取得できない可能性がある。

  b) 外からでも取得できる道筋が儲けられている可能性もあるが、意図的に見せないような手当がされていたら、取得不能。
          あるいは、意図的にみせる手当がなされていないとアウトと言えるかもしれない。

  c) この辺苦手。調べても徒労に終わる可能性あり。

  d) 実現可能なら、この案の方が以下の案よりは美しい。

 

 2) 生成されたページから値を読み取る

  a) この方法なら、取得可能ではないかと思われる。

  b) Pythonのver3とか、Selenium、BeautifulSoupなどのライブラリが必要っぽい。

  c) 現在使用しているサーバーは、Python2になっている。

  d) 環境の準備が現在の『レンタルサーバー』の契約プランで可能か不明。

  e) 少し余分にお金を出してVPSのプランにすれば、環境的な問題はクリアされると思われるがそこまでやるか?

          ・費用面 ・VPSは世話をするのが面倒そう

  f) 構築できたとして、ヘッドレスブラウザを経由するため、レスポンスが得られない可能性もある。

 

3. その他の事と、今後について

 1) 公共のサーバーをスクレイピングしてよいものかという躊躇

       a) 公共のサーバーをスクレイピングしてよいものかという躊躇は残る。
    利用規約には、止めてねとやんわりと書いてあるが、強くは書いてない。
    やんわり。
      https://www.river.go.jp/kawabou/kwb_apend/html/caution.html


     b) こちら側のサイトのアクセス数を考えると、実質的な迷惑にはならない。

     c) 加えて、負荷をかけないような設計上の配慮も出来る。

  2) 当面、2の案を試すことにする。

 

という事で、復旧できないかもしれないし、できるにしても大分時間が掛りそう。

 

 

| | コメント (0)

2021年3月23日 (火)

【悲報】「川の防災情報」携帯版のサービス終了に伴い、水位計cgiもまい水位計も使えなくなりました。

今日、なにげなく水位を確認しようと「まい水位計」を開いたら、なぜか、表示が全て"-"ハイフンになっていました。

何事だろうとハイフンをクリックして見ると、、、なんと!

Photo_20210323211901

携帯版「川の防災情報」がなくなっているではありませんか!!

「まい水位計」も、海部郡山川町のサイトに表示している各地の水位も、携帯版「川の防災情報」からデータを取っていたのです。

何年か前にもリニューアルされて、表示できなくなったことがあったのですが、それほど激しい違いではなかったので、なんとか改修したのですが、今回はなんと「サービス終了」

見たい人は、PC版かスマホ版を見てね!

という事なのです。リンクは以下です。

国土交通省 川の防災情報

2_20210323213401

で、HTMLのソースを見てみると、

3

あちゃー、動的にHTMLを生成しているやつです。

JavaScriptとか、ぜんぜん素人なんですよね。

ちょっとだけ、頑張って、無理そうだったら、諦めまする。

 

それと、前から、「ご利用上の注意事項」の所に、

"当ホームページは一般の方々が通常のブラウザで閲覧されることを前提に情報を掲載しています。サーバに過度な負担をかけるツール等による定期的なデータ収集は、お控えいただきますようお願いいたします。"

という記述がありまして、ほんの少し気にはなっておりました。

「まい水位計」については、通常のブラウザでの閲覧に違いないですが、データを取っているcgiは、「ツール等」と言えなくもない。

とはいえ、見たい時だけ動く訳ですから、「定期的なデータ収集」には当たらないだろう。不定期です。

それに、海部郡山川町サイトは、年間5,238円の安物レンタルサーバー上で動いていますから、仮にアクセスが集中しても、こちらのサーバーがネックになって、川の防災情報に「過度な負担をかける」とは言えないだろう。

あ、そもそも、海部郡山川町には、心配するほどのアクセスがないんでした・・・(泣)。

 

 

 

| | コメント (0)

« 2021年2月 | トップページ | 2021年4月 »