Bulkfeeds に英語圏のRSSが大量登録されていたみたいで、手動で削除対応しました。まー別に登録するなってことはないんですが、一応日本のフィードを検索するというのがサイトの主目的でしたので。
というわけで、RSS フィードが日本語かどうかを自動的に判定する方法を考えてみる。
まず、Spec に厳密な方法での判定としては、以下。
1. RSS 2.0 では channel に language 要素があるのでこれで判定
2. RSS 1.0 では Dublin Core を使って dc:language
3. Atom Feed では、xml:lang="ja"
ホスティングサービスのプロバイダさんは以上のどれかをつけてほしいですな。
んでもってそれにマッチしない場合の liberal な判定方法としては、
1. URL が hard-wired に登録済みである (はてなダイアリー、ココログ、livedoor blog といった既知のホスティングサービス)
2. $domain =~ /\.jp$/
3. channel や item のエレメントにマルチバイト文字を含む
この辺かなあ。これにしても 3. で中国語や韓国語がマッチしてしまうという問題はありますが。。なにかいいアイデアあればご意見ください。
「あ〜ん」とか「ア〜ン」といった、
ひらがなやカタカナを一文字も含まないような
RSSをはじいてしまうというのはどうでしょう。
日本語である以上、これらの文字がひとつも
ないってのはありえないような。
>>watanabeさん
それは 3. ですよね。
あ、、、こりゃ失礼しました。(^^;;;
って、いや違くって、(^^;
「マルチバイト文字」っていうくくりじゃなくて
さらに細かいくくりとして、片仮名や平仮名を
含んでいるか否かによってそれが日本語かどうかを
判別してもいいんじゃなかろうかってつもり
だったのです。