-
Node.jsで河川の水位データをスクレイピングする
こんにちは、ソリューションの五十嵐です。 私は釣りが好きで、休日はよく釣りに出かけています。 その際に国土交通省が提供している河川の水位情報をチェックして釣りのポイント選びなどに役立てています。 http://www1.river.go.jp/ この水位情報をもっと手軽に確認できるようにしたいのでNode.jsでスクレイピングして水位データを提供するAPIを作成してみます。 Node.jsによるWebスクレイピング まずNode.jsによるWebスクレイピングのライブラリとしてcheerioをインストールします。 インストールしたcheerioで試しにYahooのトップページをスクレイピングしてみます。 YahooのHTMLソースを取得することができました。 河川の水量データをWebスクレイピングしてみる 指定URLをスクレイピングできることが確認できましたので水位データのページも試してみます。 水位データのページはTopページと詳細ページに分かれており、目標のデータは詳細ページにあります。 しかし、詳細ページのURLとなるデータID?は随時更新されるため、Topページにアクセスし今のデータIDを取得する必要があります。 まずはTopページのスクレイピングを始めましょう。 このページに詳細ページのデータIDが含まれていますのでスクレイピングした結果から抽出します。 データIDを抽出する スクレイピングしたHTMLソースはjQueryのセレクタのような形で操作できますので以下のようにリンクのaタグにデータIDが含まれるかを判定します。 データIDの取得ができましたので詳細ページのスクレイピングを行います。 詳細ページのスクレイピング 取得したデータIDで再度スクレイピングを行います。 無事水位データを取得することができました。 ちなみに水位データは日付,時刻,水位(m)のようです。 まとめ 取得したデータをカンマ区切りで整形し、最終的に以下のようなJSON形式のデータになるように修正しました。 今回はデータの整形までを行いましたので次回はこのデータを提供するAPIと、それを利用するアプリケーションを作成したいと思います。
-
Gmailエイリアス機能で別名アドレスを作る方法
私は、メールのやり取りに「Gmail」を利用している。仕事、プライベートともにである。そしてこの記事をご覧になるあなたもGmailを日々活用していることだろう。 そんななか、つぎのような必要に迫られたことはないだろうか? 「SNSアカウント作成ごとにメールアドレスを変えたい」「ラベル・フィルタの分類を楽にしたい」「新たにメールアドレスが欲しいけど、アカウントは作りたくない」 などに該当する場合は、有効な手段になり得るエイリアス機能を紹介したい。 引き続きご覧いただけると幸いだ。 Gmailエイリアス機能とは? まずエイリアス機能について解説しよう。Gmailを使うにあたり、Googleアカウントを開設している訳だが、Gmailアドレスは1アカウントにつき1アドレス発行される。 また同一アカウントでサブアカウントは開設できない。つまり「~~~@gmail.com」のメールアドレスをひとつ保有していることになる。 発行されたメールアドレスのユーザー名の後にカテゴリを追加する形式で、容易くメールを分類することができる。 この仕組みが「Gmailエイリアス機能」だ。 概要のつぎは、メリットとデメリットについても明らかにしておこう。 メリット エイリアスを活用すれば、既存メールアドレスを複数個運用することができる。わざわざアカウントを開設する必要がないのである。 さらにエイリアスは、設定等の手間が不要だ。 たとえば、SNSアカウント開設時にエイリアスアドレスを入力するのみ。まったく手間がかからずエイリアス機能が使えるわけだ。 そして利用したエイリアスはフィルタ分類などが簡単に行える。 デメリット デメリットは受信専用ということだ。受信メールは、対象のメールアドレスに届く。 しかし送信用に設定されていないメールアドレスに関しては、エイリアス機能を享受できないのだ。 たとえばエイリアスされたメールアドレスから返信を行うとエイリアス未使用メールアドレスとして送信される。送り返された相手にしてみれば違うメアドから返事が届くわけだから、とても違和感を覚える状態と言える。 とはいえ送信用メールアドレスとしてエイリアスを設定すれば、解消することが可能だ。エイリアスで送信する場合に実施するとよいだろう。 Gmailエイリアス機能の効果的な使い方 Gmailエイリアス機能を使うにあたり効果的と思えるシーンをいくつか提案したい。 SNSに複数アカウントを作る SNSアカウントを開設するには、メールアドレスが必要だ。SNSにサブアカウントを複数開設するにも、おのずとメールアドレスを求められる。そのような場合にエイリアス機能を使うことで、メールアドレス発行に関わるアカウント作成が不要になる。 ラベル&フィルタで自動振り分けする エイリアスをフィルタ条件にすることで自動振り分けをすることができる。その結果ラベルやスターを付けたり、別のアカウントに転送などを目的とした利用が考えられる。 Gmailエイリアスアドレスの作り方 エイリアス機能は3パターンある。利用するシーンによって使い分けが可能だ。 では順を追って眺めてほしい。 +(プラス)を使う方法 +(プラス)で任意の文字列を連結してエイリアスを作る。つぎのメールアドレスはすべて「yourname@gmail.com」のエイリアスとなる。 yourname+facebook@gmail.comyourname+twitter@gmail.comyourname+work@gmail.comyourname+news@gmail.com .(ドット)を使う方法 .(ドット)でユーザー名を分割してエイリアスを作る。ユーザー名に含む.(ドット)を認識しない特性を利用することでエイリアスを実現しているわけだ。つぎのメールアドレスはすべて「yourname@gmail.com」のエイリアスとなる。 your.name@gmail.comy.o.u.r.n.a.m.e@gmail.com googlemail.comを使う方法 ドメインを@googlemail.comに変更してエイリアスを作る。 @googlemail.comは海外用ドメインだ。これを利用することで、エイリアスが機能する。つぎのメールアドレスはすべて「yourname@gmail.com」のエイリアスとなる。 yourname@googlemail.com まとめ 以上がGmailエイリアス機能の紹介だ。あなたにマッチする使用方法は見つかっただろうか。 とりわけ+(プラス)でエイリアスするケースが多いかもしれない。ユーザー名に任意文字列を結合するシンプルな機構なため分類には相性がよいのだろう。 Gmailエイリアス機能を利用してあなたの問題が解決できることを願っている。