stMind

about Tech, Computer vision and Machine learning

Scraperで行こう

Topページの一番下、サムネイルがタイル上に並んでいる部分を
ポップアップするタイトルで認識するのは困難、というわけで
Web::Scraperを使ってタイトル一覧にしてみました。

pastNews:
  - VW社の燃料電池車『space up! blue』:動画で紹介
  - クリックしなくてもシステム乗っ取り:マルウェアが有名サイトに続々侵入
  - あらゆるデータを公開せよ:「PayPalマフィア」に学ぶ「成功の秘訣」
  - 『Wikipedia』創設者、スクリーンショットを公開した『Search Wikia』を語る
  - 米国団結の鍵はマリオ?:「政治的指向と娯楽の嗜好」世論調査結果
  - ロボット・ゴキブリで群れを操作――害虫駆除などへの応用も
  - ホンダの燃料電池車『FCXクラリティ』:写真ギャラリーで紹介
  - 『YouTube』を「世界最高のオンデマンド音楽サービス」に変える『Songza』
  - 「3500ドルでお腹の脂肪を除去」:人気ラッパーの母急死に見る、整形手術の危険性
  - 『iPod』をビクトリア朝風の時計仕掛けに変身
  - 動画:ヨーロピアン・テイストなPS3コマーシャル
  - 1000以上の言語を記録したディスクを搭載、『ロゼッタ』探査機
  - バクテリアで水素を生成する新手法
  - レアなファミコンソフトは2万ドル:「世界で最も高価なゲームソフト」番付
  - 尿素の海洋投入テストでフライング? フィリピン政府が豪企業を調査
  - 携帯やiPodを載せて同時充電できる『WildCharger』レビュー
  (長いので省略)


単純に一覧にしただけなのでわかりやすくなっているとは到底思えませんがwww、
タイトルを取り出せたらあとは見せ方の工夫をすればいいわけで、
改めて容易に情報を取り出せることの意義は大きいと感じました。


wired_vision.pl

#! /usr/bin/perl

use strict;
use warnings;
use Web::Scraper;
use URI;
use utf8;
use YAML;

my $uri = "http://wiredvision.jp/";
my $wv = scraper {
  process '//div[@id="pastNews"]/ul/li/a', 'pastNews[]' => '@title';
};
binmode STDOUT, ":utf8";
print YAML::Dump($wv->scrape(URI->new($uri)));