データを自動取得するときの心得~Pythonで気象GPVデータを可視化しよう~
- 佐野栄治

- 7月20日
- 読了時間: 4分
こんにちは。TeamSABOTENのプログラミング教材を制作している佐野栄治です。
解説動画「Pythonで気象GPVデータを可視化しよう」シリーズの制作を行っています。

【簡易版】:Python初心者でも安心。環境設定やGPVデータの解説も。
【正規版】:複数天気図を1枚に。高機能かつ拡張性もバッチリ。
【鉛直断面図オプション(正規版用)】:大気を立体的に把握できる鉛直断面図描画機能。
※Python基本文法の解説は含まれておりません。
Pythonで気象GPVデータを描くためには、まずそのデータを用意する必要があります。
解説動画では京都大学生存圏データベースサイトのグローバル大気観測データのページから、GPVデータファイルをダウンロードすることになります。
解説動画【簡易版】では、あらかじめ該当ページから自分でファイルをダウンロードするのですが、【正規版】ではPythonプログラムで自動的にダウンロードする仕組みが用意されています。
通常1つの天気図を描くために必要なファイル数は1個~数個程度と限られていますが、プログラムは自分で好きなように作れるので、例えば一度に100個でも1万個でも連続して一気にダウンロードすることも簡単にできてしまいます。また故意でなくても、プログラムミスによって大量ファイルを一度にダウンロードしようとしてしまうことも起こりえます。

サイトからファイルをダウンロードするときは、サイトを管理しているサーバ(解説動画では京都大学生存圏データベースサーバ)に負荷がかかります。ダウンロード数が少ないときや、ダウンロードの時間間隔が空いている場合は問題にならないのですが、大量データを連続してダウンロードしようとすると、サーバに非常に大きな負荷をかけてしまうことになります。
サーバに負荷がかかりすぎると、他の人がダウンロードしにくくなったり、そのサーバで実行している他の処理が遅くなったり、最悪サーバ全体がダウンしてしまうこともあります。つまり、サーバの管理者や他の利用者にとんでもない迷惑を掛けてしまうことになるのです。
今の話はファイルのダウンロードでしたが、プログラムを使っていろいろなWebサイトから必要な情報を巡回して取得する「スクレイピング」と呼ばれる行為もよく問題になります。わずかな量なら問題になることも少ないですが、大量のアクセスを繰り返してしまうと、やはりサーバに大きな負荷を掛けてしまいます。
悪意のある人がわざと大量アクセスを行って相手サーバをダウンさせる攻撃を仕掛けることがありますが、原理的には同じことになるので、最悪の場合、犯罪とみなされてしまう可能性もあります。

このような理由から、サーバからデータを取得するときは、その量と間隔に充分注意してください。もしどうしても大量のデータを取得する必要がある場合は、1個ずつ小分けにしして、連続しないようにウエイトを入れる(取得から次の取得までの間を○秒待つようにプログラムを作成する)などの工夫をするようにしましょう。
サーバによっては集中アクセスをしないよう明記されている場合もありますが、そうでなくても、できるだけ負荷をかけないような対応は必要です(プログラムによる自動取得自体を禁止しているサイトもあります)。重要なデータや情報を提供してくださっている相手先に迷惑をかけないような気配りを常に意識して、お互い気持ちよくプログラミングを楽しみましょう。

この記事を書いた人
気象予報士 佐野栄治
(特種情報処理技術者、星空案内人、天文宇宙検定2級、日本農業技術検定3級)
TeamSABOTENのサブスク・月額コースは100を超える動画が見放題!
●気象予報士受験生向けサブスク
学科から実技まで学習を手助けする副教材がてんこ盛りで月額4,400円
毎週金曜日に新しい動画教材をアップ!月に1~2回はライブ講座も開催
●資格の有無に関係なく気象を楽しみたい方向けサブスク
ライブに参加し放題、動画見放題で月額2,970円
元気象庁予報官によるオンラインライブ講座は月3回開催
そのうち2回は最新の天気図を使った【予報官の気象ブリーフィング】です
TeamSABOTENの無料メルマガで大人気「元気象庁予報官・鈴木和史先生のコラム」の内容をさらに詳しく解説する【予報官のコラムLIVE】も大好評
気象予報士試験に向けて!
TeamSABOTENでは、合格のための様々なコンテンツをご用意しております。
ぜひご活用ください。
模試付き総合パック・実技完全パックには 実技過去問解説動画が第51回から最新回まで全て含まれていて大変お得です!










コメント