perlの勉強も兼ねて、web::scraperでmiixi news一覧を抜き出しをやってみました。
今現在、plagger/www::mixi::scraperを使ってmixiの内容をgmailに送り内容を確認している。
mixiニュースもgmailに送りたくなったので、勉強もかねてwww::mixi::scraperソースやplagger ソースを読み、解らない箇所などは、サンプルコードによるPerl入門(http://www.perlcodesample.com/perltut/tocsimple.html)を読みながら試行錯誤やってみた。
以下ソースと結果
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Web::Scraper;
use YAML;
my $username = "example\@mail.com";
my $password = "**********";
my $mech = new WWW::Mechanize;
$mech->get('http://mixi.jp/');
$mech->submit_form(
fields => {
email => $username,
password => $password,
}
);
$mech->get("http://news.mixi.jp/list_news.pl");
my $entries = scraper {
process '//h2/a',
category => 'TEXT' ,
url => '@href';
process '//table[@class="newsTable"]/tr/td' , 'entries[]' => scraper {
process 'a' ,
title => 'TEXT' ,
link => '@href';
}
};
my $news = scraper {
process '//title' , 'title' => 'TEXT';
process '//div[@class="categoryNewsLeft"]' ,
'left[]' => $entries;
process '//div[@class="categoryNewsRight"]' ,
'right[]' => $entries;
};
my $feed = $news->scrape($mech->content, $mech->uri);
$mech->get("http://news.mixi.jp/show_ranking.pl");
my $ranking = scraper {
process '//title' , 'title' => 'TEXT';
process '//table[@class="rankingTable"]/tr' , 'rank[]' => scraper {
process '//td[@class="rank"]/img' ,
rank => '@alt';
process '//td[@class="newsTitle"]/a' ,
title => 'TEXT' ,
link => '@href';
process '//td[@class="media"]/a' ,
media => 'TEXT' ;
process '//td[@class="date"]' ,
DATE => 'TEXT' ;
}
};
my $rank_feed = $ranking->scrape($mech->content, $mech->uri);
print YAML::Dump $feed;
print YAML::Dump $rank_feed;
__END__
以下出力結果 2009年1月3日朝の内容
カテゴリ別でのニュースとランキング順でのニュース一覧を出力
※mixiニュースは他のサイトよりも一覧で読みやすいからいい。
タイトル字数が13文字から15文字以内にカットされているので短時間で大量のニュースを見渡そうと思ったときに便利。
left:
- category: 国内
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710714&media_id=4
title: 「
年越し派遣村」入村253人に
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710684&media_id=4
title:
天皇陛下「少しでも良い年に」
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710659&media_id=4
title: 昨年の交通死者 前年比10%減
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710617&media_id=20
title: 生体認証破り ブローカー介在
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710353&media_id=2
title: 08年人口 過去最大5万1千人減
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710352&media_id=2
title:
天皇陛下 年頭に当たって感想
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710271&media_id=20
title:
裁判員制度元年 秋にも本格化
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=1
- category: 経済
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710720&media_id=5
title: 渋谷「109」初売り 早朝から列
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710628&media_id=4
title: バンカメ 米メリルの買収完了
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710612&media_id=54
title: 百貨店初売り ユニーク福袋も
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710539&media_id=52
title: 米CD販売 08年も落ち込み続く
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710530&media_id=20
title: 三井生命 変額年金から撤退へ
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710523&media_id=52
title: 米シティ経営陣 ボーナス辞退
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710467&media_id=4
title: 元日配達の年賀状 前年比で増
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=3
- category: 海外
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710732&media_id=4
title: 革命半世紀、
キューバ岐路に
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710686&media_id=31
title: メラミン混入 元社長
終身刑か
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710634&media_id=52
title: ガザ
空爆6日 死者410人超える
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710624&media_id=52
title: 露
ウクライナへガス供給停止
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710622&media_id=52
title: ガザ
空爆で
ハマスの指導者殺害
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710476&media_id=2
title:
バンコク火災 日本人4人重軽傷
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710188&media_id=2
title:
スロバキア加盟でユーロ16か国
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=5
- category: エンターテインメント
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=711003&media_id=30
title: 涙の羞恥心「普通のおバカに」
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710961&media_id=53
title: 負傷あゆ トラブル対応に非難
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710958&media_id=42
title:
愛華みれ「1日1時1分」に入籍
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710951&media_id=42
title: 松坂夫妻、スマスマに生出演
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710930&media_id=61
title: ジャニーズ恒例の初詣が中止?
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710806&media_id=8
title:
高嶋ちさ子 ブログで妊娠報告
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710700&media_id=52
title: 08年米映画界最大のニュースは
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=7
- category: ゲーム・アニメ
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710589&media_id=47
title:
Wii巡って
カップル「大乱闘」
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710560&media_id=31
title: 中国版「
花男」原作こだわらず
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710489&media_id=50
title: サイボーグ「009イヤー」開始
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710087&media_id=47
title: 「
森田将棋」のセタが解散へ
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=709984&media_id=50
title:
間の楔リメイク BLアニメ名作
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=709971&media_id=54
title: 08年、一番面白かった漫画は
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=709157&media_id=47
title: 各ハードが打ち出す
次の一手
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=9
right:
- category: 政治
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710786&media_id=4
title: 首相 予算審議で民主をけん制
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710576&media_id=20
title: '解散いつ? 選挙前に首相交代も'
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710457&media_id=20
title: 次期
衆院選 出馬予定は870人
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710239&media_id=2
title: 首相年頭所感 危機脱出に決意
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710139&media_id=2
title: 小沢代表「アキバ討論」生中継
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710123&media_id=4
title:
麻生首相 ガザ攻撃停止を要請
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710095&media_id=4
title:
麻生首相 1月11日から
訪韓へ
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=2
- category: 地域
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710841&media_id=2
title: シカ猟仲間の誤射で男性重傷
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710820&media_id=2
title: 商業施設のトイレ浄化槽に胎児
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710811&media_id=2
title: 八戸断水 給水再開は3日夜に
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710752&media_id=20
title: 「家族写真見たい」年賀状盗む
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710744&media_id=2
title: 旅館2時間立てこもり 男を逮捕
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710691&media_id=2
title: 緊急車両を偽装 車3台に衝突
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710636&media_id=20
title:
無免許運転で衝突 少年ら重体
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=4
- category: スポーツ
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710780&media_id=20
title: 45歳の
ボンズ 現役続行に意欲
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710740&media_id=20
title: 激走の柏原「山の神」超える
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710739&media_id=20
title: V候補の
市船敗退
高校サッカー
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710729&media_id=4
title:
ラグビー決勝は早稲田vs.帝京
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710722&media_id=20
title:
東洋大が初の往路V
箱根駅伝
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710712&media_id=20
title: J1名古屋初代監督 平木氏死去
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710680&media_id=20
title:
早大1年の三田、4区で
区間新
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=6
- category: IT・テク
ノロジー
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710633&media_id=17
title: '訴訟対策? 海外企業に
2ch譲渡'
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710460&media_id=20
title: メーカー別なく置くだけで充電
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710108&media_id=46
title: 印の9歳少女
MCP試験に合格
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710009&media_id=52
title:
ジョブズCEO 根強い健康不安説
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710007&media_id=17
title: 初詣・初日の出 ネットからも
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=709339&media_id=20
title: ドコモ「電子写真立て」開始へ
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=708678&media_id=2
title:
年賀メール「添付」に注意を
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=8
- category: コラム
entries:
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=711013&media_id=60
title: '結婚と同棲は違う? 女性の本音'
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710743&media_id=45
title: あったらいいなと思う夢の福袋
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710676&media_id=60
title: みんなが考える「親孝行」とは
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710661&media_id=53
title: 俗っぽさが人気の「坊主バー」
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710637&media_id=54
title: 仕事と恋愛 09年に頑張るのは
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710632&media_id=45
title: これからの日本に期待すること
- link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710615&media_id=54
title: 'オッパイ絵馬? 変わった初詣'
url: !!
perl/scalar:
URI::http
http://news.mixi.jp/list_news_category.pl?id=10
title: '[
mixi] ニュース'
Wide character in print at mixinews_check.pl line 63.
rank:
- DATE: 01月02日 11:01
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710657&media_id=4
media:
時事通信社
rank: 第1位
title: 紅白視聴率 3年ぶり40%超え
- DATE: 01月02日 16:20
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710752&media_id=20
media: 読売新聞
rank: 第2位
title: 「家族写真見たい」年賀状盗む
- DATE: 01月02日 11:10
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710661&media_id=53
media: 日刊
サイゾー
rank: 第3位
title: 俗っぽさが人気の「坊主バー」
- DATE: 01月02日 11:31
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710676&media_id=60
media: escala cafe
rank: 第4位
title: みんなが考える「親孝行」とは
- DATE: 01月02日 15:41
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710743&media_id=45
media: gooランキング
rank: 第5位
title: あったらいいなと思う夢の福袋
- DATE: 01月02日 14:14
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710722&media_id=20
media: 読売新聞
rank: 第6位
title:
東洋大が初の往路V
箱根駅伝
- DATE: 01月02日 19:53
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710806&media_id=8
media: 日刊スポーツ
rank: 第7位
title:
高嶋ちさ子 ブログで妊娠報告
- DATE: 01月02日 14:13
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710720&media_id=5
media:
シブヤ経済新聞
rank: 第8位
title: 渋谷「109」初売り 早朝から列
- DATE: 01月02日 21:51
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710847&media_id=20
media: 読売新聞
rank: 第9位
title: 「あっ!2年前盗まれたサーフボード」すれ違った車の男逮捕
- DATE: 01月02日 20:51
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710820&media_id=2
media:
毎日新聞
rank: 第10位
title: 商業施設のトイレ浄化槽に胎児
- DATE: 01月02日 14:01
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710713&media_id=49
media:
GIGAZINE
rank: 第11位
title:
2ちゃんねるが
ひろゆきから謎の会社「PACKET MONSTER INC.」に譲渡完了、その正体を探る
- DATE: 01月02日 10:40
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710646&media_id=51
media: バークス
rank: 第12位
title: R・プラントに英女王より勲章
- DATE: 01月02日 12:54
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710696&media_id=20
media: 読売新聞
rank: 第13位
title:
東洋大1年・柏原が
区間新で首位奪う…
箱根駅伝5区
- DATE: 01月02日 14:01
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710714&media_id=4
media:
時事通信社
rank: 第14位
title: 「
年越し派遣村」入村253人に
- DATE: 01月02日 13:13
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710700&media_id=52
media: ロイター
rank: 第15位
title: 08年米映画界最大のニュースは
- DATE: 01月02日 15:51
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710744&media_id=2
media:
毎日新聞
rank: 第16位
title: 旅館2時間立てこもり 男を逮捕
- DATE: 01月02日 10:44
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710653&media_id=20
media: 読売新聞
rank: 第17位
title: 東
海佐藤 4年連続
区間新ならず
- DATE: 01月02日 11:34
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710680&media_id=20
media: 読売新聞
rank: 第18位
title:
早大1年の三田、4区で
区間新
- DATE: 01月02日 14:11
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710718&media_id=54
media:
ORICON STYLE
rank: 第19位
title: 2008年『
紅白歌合戦』、視聴率42.1% 3年ぶり40%超え
- DATE: 01月02日 12:51
link: !!
perl/scalar:
URI::http
http://news.mixi.jp/view_news.pl?id=710691&media_id=2
media:
毎日新聞
rank: 第20位
title: 緊急車両を偽装 車3台に衝突
title: '[
mixi] 総合 アクセスランキング'
抜きだしはうまくいった。
あとはこれをplagger をつかってfeedするんだけど・・・
Custom-Scriptでできるようなのでやってみたものの、
Plagger::Plugin::CustomFeed::Script [error] Error happend while executing '/usr/local/share/perl/5.10.0/Plagger/assets/plugins/CustomFeed-Script/mixinews_check.pl': -1
というエラーが吐き出されてしまうので????なところ。
プラグインとして作り替えようと見よう見真似でやってみるものの、まだfeedにハッシュ(リスト?)を渡すプロセスなんかがわからないといったところ。