Home >> November, 2007

Web::Scraperを使って、物件一覧をGoogle Mapsにマッピング

Posted on: Tuesday, November 13th, 2007 in:

福岡ファミリー向け物件特集!: ファミリー物件を見ていて、これはいいな、RSS登録するか。
と思ったのですが、このRSSはどうやら福岡の不動産情報探し・お部屋探しサイト「ムビマップ福岡」:こだわりの物件特集[賃貸版]: 物件一覧のようで、僕にはいらん情報も混じっておりました。
で、話題のWeb::Scraperでスクレイピングしてみるか。ついでに取得した一覧はGoogle Mapsにマッピングしてやるか。
というエントリです。
http://fooo.name/ からURL一覧を取り出すのにWeb::Scraper使ったけど、これは良いね
scraper http://fooo.name/accounts/otsune
してsでソース見てそれっぽくXPath書いてdumpして、データが取れてたらcでソース出して終了。イカス。
を参考にさせてもらいました。
まずは、
$ scraper http://www.movimap.net/kodawariblog/family/
して
scraper> s
してソースをざーっと斜め読み。
取ってきたい情報のXPathを考える。
scraper> process ‘//div[@class="box"]/div[@class="box01"]/h3/a’, ‘link[]‘ => ‘@href’, ‘title[]‘ => ‘TEXT’
これでどげんじゃろかと、出力してみる。
scraper> y
すると、

link:
- !!perl/scalar:URI::http http://www.movimap.net/kodawariblog/2007/10/post_134.html
- !!perl/scalar:URI::http http://www.movimap.net/kodawariblog/2007/08/post_33.html
….
title:
- +*。+純和風♪駅が近いので通勤・通学、奥様のショッピングにも便利なんデスヨ~(人・∀・*)+。*+
- ☆鴻巣山のふもとの静かな暮らし☆
….

おし、これはおげ。
続いて住所情報が欲しいので、
scraper> process ‘//div[@class="box"]/div[@class="box02"]/p’, ‘address[]‘ => ‘TEXT’
そして、
scraper> y
その結果が、

address:
- ‘■□加藤邸(桜台)  福岡県筑紫野市桜台1丁目7-11 □■ +*○。+純和風のとても素敵なお家です!広さは4LDKと広々!駐車場も一台付いていまーす +。○*+ ‘
- ■□グレイス長丘 福岡市南区長丘5-8-18□■ ♪♪駐車場2台取れます♪♪
….
link:
- !!perl/scalar:URI::http http://www.movimap.net/kodawariblog/2007/10/post_134.html
- [...]

Publish::HTMLを使ってiPhone/iPod TouchのSafari向けにHTMLファイルを生成

Posted on: Monday, November 12th, 2007 in: ,

Publish::HTMLという便利なPlagger用のPluginがあります。
このまんまでも十分iPod Touchで閲覧出来るのだけど、単にcotalog ≫ Archive ≫ iPhone/iPod Touchで読みやすいページを作るたった一つの方法のエントリの効果がどれくらいあるのか知りたくて一つテンプレートファイルを書いてみました。
書いたテンプレートはこんな感じです。
スタイルシートの部分は、先のエントリのリンク先から拝借してます。
mobile_html.tt
さてさて、効果の程はいかほど…。
これを使って、僕のブログをPlaってみると、

なかなか読みやすい感じになりました。
このごろ無駄にiPod Touchでブラウジングしてしまうのは、この操作感が楽しいからでしょうか。

iPhone/iPod Touchで読みやすいページを作るたった一つの方法

Posted on: Monday, November 12th, 2007 in: ,

大げさなタイトルですが、とりあえずてっとり早くiPod Touchでページを見やすくする為には有効かもしれません。
Technical Note TN2100: Customizing Web Content for Safari on iPhone
このテクニカルノートによると、iPhone/iPod TouchのSafariでは、
-webkit-text-size-adjust: ****
というプロパティが有効なようですね。
早い話がブラウザのレンダリングエンジンにテキストサイズの調節はまかせてしまえ!
という感じなのでしょうか。
auto, none, %とサンプルが掲載されていますが、これを使うと色々と楽出来そうですね。

iPhone/iPod TouchのSafariから快適に閲覧出来るWordPress Plugin 「iWPhone」入れてみました

Posted on: Monday, November 12th, 2007 in: ,

iPhone/iPod TouchのSafariから快適に閲覧出来るWordPress Plugin 「iWPhone」を入れてみました。
導入方法は至って簡単です。
1. 上記のリンクから、Download the iWPhone WordPress Plugin and Theme zip file.でファイルをダウンロード
2. iwphone-wordpress-plugin-and-theme/iwphone.phpをwp-content/pluginsへ
3. iwphone-by-contentrobotをwp-content/themesへ
4. WordPressの管理画面からiWPhoneを有効に
CGFMメンバー全員のブログに導入予定です。

Text::CSV::Simpleをレンタルサーバーで使う

Posted on: Tuesday, November 6th, 2007 in:

CSVを読み取って、それを整形して出力。
なんて事、よくあります。どっかにモジュール転がってないかなーとググったところ、
101号室: [perl] Text::CSV::Simple
Text::CSV::Simpleが便利すぎる。
このモジュールはCSVを読み込むときに、各行をリストではなくハッシュにすることができる。
おお、まさにこういう事がしたかった。
読み込む際に各種データフィールド名を指定しておけば勝手にハッシュにしてくれるスグレもの。
ここまでモジュールがやってくれれば、後はTTに丸投げ出来るすばらしいモジュールです。
ところが!!
このText::CSV::Simpleというモジュールの中身をのぞいてみると、どうやら、
Text::CSV_XS
てなXSなモジュールをuseしているようなので、そのまんまではレン鯖などで使うには問題アリ。
そこで、Text::CSV_XSをそっくりそのまま、
Text::CSV_PP
に置き換えちゃいました。
これでレン鯖対策完了です。
ひとまずモジュールは、Text::CSV::Simple_PP として、使う事にしました。
Text::CSV::SimpleからText::CSV::Simple_PPにコピペ後、あらゆるText::CSV_XSやText::CSV::SimpleをText::CSV_PPやText::CSV::Simple_PPに変えるだけです。
$ diff Simple.pm Simple_PP.pm
1c1
< package Text::CSV::Simple::__::Base;

> package Text::CSV::Simple_PP::__::Base;
10c10
< package Text::CSV::Simple;

> package Text::CSV::Simple_PP;
12c12
< use base 'Text::CSV::Simple::__::Base';

> use base 'Text::CSV::Simple_PP::__::Base';
18c18
< use Text::CSV_XS;

> use Text::CSV_PP;
140c140
< return bless { _parser => Text::CSV_XS->new(@_), } => $class;

> return bless { _parser => Text::CSV_PP->new(@_), } => $class;
CPAN様々を痛感します。
久しぶりにPerl書いてるけど、やっぱり楽しい!