| トップページ |

2007.08.18

URI::Titleで日本語Webページのタイトル取得

このエントリーをはてなブックマークに追加 mixiチェック

はてなスターのパチ物みたいなのを作るミッションで、Web上のDBにAJAXで格納する情報として、該当ページのURIの他に、該当ページのタイトルを付けるということをやらなくてはいけなくて、どうせAJAX(=JavaScript)でやっとるのだからdocument.titleでタイトルをブラウザ側で用意してDBにプッシュしてやればいいと思って実装してみたものの、結構取得ミスがあるなー

ていうわけで、ブラウザ側から URIだけPUSHしてもらったものを CGIで受け取って、CGI が代理でタイトルを取得しに HTMLをGETすりゃいいなーと考えて、んーHTML取ってきてもエンコーディングとかめんどくせーと思って、CPANになんかあったよなーと思って探したら、
URI::Title - get the titles of things on the web in a sensible way - search.cpan.org [search.cpan.org]

つうのがあった。

SYNOPSIS通りにすると、

  use URI::Title qw( title );
  my $title = title('http://microsoft.com');
  print "Title is $title\n";

なんだか変な関数インポートして名前かぶるの嫌なのと、このままじゃ日本語環境なめとるので、ちょっとこんな感じにしてみたよ。

#!/usr/bin/perl
use strict;
use warnings;
use Encode;
use URI::Title;
 
my $title = URI::Title::title('http://www.microsoft.com/japan/');
print "Title is " . encode('utf8', $title) . "\n";
[cl@gates ~]$ perl urititle.pl 
Title is マイクロソフト - ホーム
[cl@gates ~]$ 

なんてしてみました。

~~~

仕組み的にはもろはてなブックマークみたいになってしまいましたとさ。

http://ranking.dtpwiki.jp/

の印刷会社新規登録部にも組み込めばいいのかもしれないんだけれども、印刷会社のWebのtitle要素、結構ひどいので組み込んでいませんでしたとさ。

2007.08.18 午前 10:32 [Perl] | |

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/16153945

この記事へのトラックバック一覧です: URI::Titleで日本語Webページのタイトル取得:

コメント

コメントを書く