検索
特集

付加価値コンテンツとは――スクレイピングからグラフ化までまとめサイト2.0(5/5 ページ)

HTMLを解析し、スクレイピングしたデータを基にグラフ化を行う。遷移を把握するために有効なものとして、さまざまな応用が考えられるだろう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

 リスト4は比較的長く、今まで説明してきた内容の組み合わせとデータ処理となっている。このため、詳細な説明は割愛する。ただし1点だけ、「Y軸の操作」について補足しておきたい。

 図3図4を見比べるとわかるが、図4ではランキングの「1」が上になっているのに対し、図3では「10」が上になっている。

 実は、GD::Graphモジュールによる折れ線グラフでは、図3に示した「上に向けて値が大きくなるグラフ」が基本であり、図4に示した「下に向けて値が大きくなるグラフ」が描けない。

 これは、「値を負にする」ことによって、なかば強引に実現しているのだ。ソースを見ると分かるが、リスト4では、ランキング順位の「1」〜「10」の値ではなく、それを負の値とした「-1」〜「-10」としてグラフを描画している。これにより、上下逆となるのだ。

 しかし、そのままだと、Y軸のラベルの値も負になってしまう。この問題を解決するのがy_number_formatオプションだ。リスト4では、次のように設定してある。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 y_number_formatはY軸ラベルを描画しようとするときに呼び出される。ここで値の正負を逆にしているので、図4に示したように、上下が逆になったグラフが描画できる。

 今回の記事では、Web::Scraperモジュールを使ったスクレイピングと、GD::Graphを使ったグラフ化について説明した。

 題材が「ブログの週間ランキング」であるということもあり、入れ替わりが激しく、グラフ化をしても遷移が把握しづらいという面もあった。しかし、これを応用して例えば「売上ランキング」や「価格変動」をグラフ化するといった場面では、今回説明した実装が、有意義に生かせるのではないだろうか?

 この先は、読者の発想で応用してみてほしい。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る