トランペット専門情報・NEWS

トランペット上達情報や、菅楽器関連最新ニュースをお届け。初心者からベテラン演奏者の方までぜひご覧下さい。

Yahoo!掲示板からトランペットを検索

Posted on | 10月 25, 2004 | No Comments

Yahoo!掲示板で「トランペット」を検索した結果を表示するPerlスクリプトを書きました。
下のほうにさりげなくありますので、よろしければどうぞ。
”■Yahoo掲示板から「トランペット」を含む書き込みをピックアップ!”って奴です。
具体的には
Yahoo!掲示板・検索オプション
http://messages.yahoo.co.jp/soptions.html
から…

  1. 「エンターテイメント」カテゴリからトランペットを検索した結果のデータをLWP::Simpleで取得。
  2. それから、正規表現でタイトルとリンク先と概要をハッシュに詰め込んで、HTML::Templateで整形。
  3. ついでにXML::RSSでrssも作ってみる。(けど、それを改めてXML::RSSでパースとすると、ちゃんとしたフォーマットじゃないって言われてエラーになる…むぅ… onz)
  4. んで、概要内のタグを消去しつつ、document.writelnで書き出す形のJavaScriptを生成。

という、BlogHackを繋ぎ合わせただけのお粗末なものです…これでさえ何回つまづいたことか(‘A`)
 #書籍BlogHackはこちら
 #Amazon.co.jp: 本: Blog Hacks ―プロが教えるテクニック&ツール100選
RSSを0.91じゃなくて0.9で宣言していて、ずっとdescriptionが出力されないことに頭を悩ませたり…いやはや先は長いです。いつの日かBlog Hackerになれるかなー。
ソースを載せておきます。ツッコミ大歓迎です(´・ω・`)ノ
でも、このまま使うのは危険な気がしますので、参考にすることはお勧めしません。なんないと思うけど。


#!/usr/bin/perl -I ./lib

#Yahoo!掲示板のパースをして、RSSに変換する。
#そして、JS形式で出力。

use strict ;
use LWP::Simple ;
use XML::RSS ;
use Encode ;
use encoding 'euc-jp' , STDOUT => 'UTF-8' ; #正直文字コード周りがワケワカメ
use HTML::Template ;

#まずは掲示板のデータをLWP::SimpleでGET
my $url = "http://search.mb.yahoo.co.jp/search?p=%a5%c8%a5%e9%a5%f3%a5%da%a5%c3%a5%c8&M=&R=yahoo%2Fentertainment" ;
my $rowdata = LWP::Simple::get( $url ) ;
$rowdata = decode('EUC-JP' , $rowdata) ;
#print $rowdata ;

#XMLを作っていく。
my $rss = XML::RSS -> new (
version => 0.91 ,
encode_output => 0 ,
);

$rss -> channel(
title => 'Yahoo!BBS search for trumpet RSS' ,
link => 'http://search.mb.yahoo.co.jp/' ,
description => 'Yahoo!掲示板の「トランペット」での検索結果のRSS' ,
language => 'ja' ,
);

#rssに、マッチされたものを入れていく。
my $regex = q{<UL><LI>\n<a href="(.+?)">(.+?)</a><br>(.+?)<BR>.+?</LI></UL>}
;

my @save_hash ;
while( $rowdata =~ m/$regex/gs){

$rss -> add_item(
link => $1 ,
title => $2 ,
description => $3 ,
);
push @save_hash , { link => $1 , title => $2 , description => $3 } ;
}

#ひとまず、RSSを出力。
open (RSS , ">yahoobbs.rss") ;
print RSS $rss -> as_string() ;
close RSS ;

#続いて、控えておいたデータでJavaScriptを出力

foreach ( @{@save_hash} ){
$_ -> {description} =~ s/<.*?>//g ;
}

#続いて、JSを出力するのでとりあえずHTML::Template
my $template = HTML::Template -> new( filehandle => \*DATA ) ;
$template -> param(item => \@save_hash ) ;
my @lines = split /\n/ , $template -> output() ;

open (JS , ">yahoo_bbs.js") ;
for (@lines){
s/\x27/&#x27;/g ; #シングルクォテーションをエスケープ。10進数表記では上手くいかないのは何故…
Encode::encode("utf-8" , $_ );
print JS "document.writeln('$_') ; \n" ;
}
close JS ;
exit(0);

__DATA__
<div class="yahoo_bbs">
<dl>
<TMPL_LOOP name = item >
<dt><a href="<TMPL_VAR name = link escape = HTML >"><TMPL_VAR
name = title escape = HTML ></a></dt>
<dd><TMPL_VAR name = description escape = HTML ></dd></TMPL_LOOP></dl>
</div>

トランペットブログの掲載メディア

相互リンク募集中!

金管楽器・木管楽器などに関するサイトのリンク集です(^-^
無料で即掲載なのでぜひどうぞ!
→ トランペット管楽器リンク集

トランペット上達おすすめ書籍
→その他の商品はこちら
有名楽器店のオンラインショップ(管楽器専門店)

有名楽器店のオンラインショップ(管楽器専門店)管楽器専門店のオンラインショップです。知識をつけていざ店舗へ!

有名楽器店のオンラインショップ(管楽器も取り扱い)

有名楽器店のオンラインショップ管楽器も扱っている楽器店。いろいろな楽器を横断してみたい人にもおすすめ。

ライブ参戦などでの便利サイト

ライブ参戦などでの便利サイト格安航空券や、快適さを重視した高速バス、直前予約で大幅割引の宿検索サイトなどです。強行軍は辛いと思いますので…

ライブ参戦などでの便利サイト

トランペット・演奏関係のお役立ちグッズとサービスです。

トランペットブログについて

当サイトでは、トランペット界隈の新着情報や各種情報、コラムなどを随時お送りしています。

ご不明な点は
info(あっと)horagay.comまでご連絡ください。

トランペット情報サイト

トランペット関連メーカーリンク

ラッパ・その他用品のメーカーのWebサイトを"約60サイト集めてみました。セレクトボックスから選択すると該当ページにジャンプします。

それでも見つからない方はこちらへ…
ITG Links:Trumpet and Mouthpiece Makers

Associated Link

  • @アコム・・アコムの人気の秘密に迫りました。なぜアコムは口コミで人気なのでしょう?
  • ゴールドカードを比較・・年会費のかかるゴールドカードのメリットについて解説しています。
  • カードローン審査・・カードローンの体験談や審査についてご紹介しています。
  • @ユーキャン・・ユーキャンの口コミや体験談などが人気。
ブログ広告ならブログ広告.com