Hatena::Groupperlmemo

Perlメモ

2008年09月18日 より開始
最新5件(RSS 2.0)
古いモジュールの更新

Plagger(Fedora10)
Plagger(Ubuntu9.04)

CPAN::Mini

Remedie(Ubuntu 9.04、Vine4.9(5α)、Fedora11Preview)
Remedie(Fedora10) 見れたサイトまとめ
編集

2008-09-18

最新30件のはてなアイデアのコメントの状況を表示

| 最新30件のはてなアイデアのコメントの状況を表示 - Perlメモ を含むブックマーク はてなブックマーク - 最新30件のはてなアイデアのコメントの状況を表示 - Perlメモ 最新30件のはてなアイデアのコメントの状況を表示 - Perlメモ のブックマークコメント

最新のはてなアイデア

コメントがついている分はコメントの日付を表示

はてなアイデア - すべて  終了

#!/usr/local/bin/perl
#はてなアイデアのコメントの状況を表示

use strict;
use LWP::Simple;


my $ideanumber = &GetLatestNumber(); #21495

&Header();  #ヘッダー表示

for(my $i=0; $i<20; $i++)  #表示件数
{
	&printUpdate();  #更新日時表示
	$ideanumber--;
}

&Footer();  #フッター表示


sub Header {
	print "Content-type: text/html\n";
	print "\n";
	print "<html>\n";
	print "<head>\n";
	print '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' . "\n";
	print "<title>hatenaidea</title>\n";
	print "</head>\n";
	print "<body bgcolor=\"#ffcccc\">\n";
	
	return 0;
}


sub printUpdate {
	# 取得して変数に格納
	my @data = split(/\n/, get('http://i.hatena.ne.jp/idea/' . $ideanumber));  #改行で分解して @dataへいれる

	my @updates;  #更新日
	my $title, my $status;
	foreach ( @data ) {
		if(/<li><a href=/) {
			@updates = /\((....-.*?)\)/g;  #配列に日付取得 (????-*)の内側  2008-03-07 03:40:30
		}
		elsif(/<title>/) {
			s/<.*?>//g;  #HTMLタグの除去
			s/^.........//g;
			$title = $_;
			#print;  #タイトルの内容を表示
		}
		elsif(/<span class="status-waiting">/) {
			#s/<.*?>//g;  #HTMLタグの除去
			#print;  #状態を表示
			$status = '  <font color="008800">要望中</font>';
			#print "<br>\n";
		}
		elsif(/<span class="status-implemented">/) {
			$status = '  <font color="999999">実装済み</font>';
			#print "<br>\n";
		}
		elsif(/<span class="status-pending">/) {
			$status =  '  <font color="bbbb00">検討中</font>' ;
			#print "<br>\n";
		}
		elsif(/<span class="status-canceled">/) {
			$status =  '  <font color="999999">キャンセル</font>';
			#print "<br>\n";
		}
		elsif(/<span class="status-otherway">/) {
			$status =  '  <font color="999999">他の方法・検討中</font>';
			#print "<br>\n";
		}
	}

	print "$status<br>\n";
	print "$title<br>\n";

	print '<a href="http://i.hatena.ne.jp/idea/' . "$ideanumber" . '" target="_blank">' . "$ideanumber</a><br>\n";  #リンク表示
	
	foreach (@updates) {  #更新日表示
		print;
		print "<br>\n";
	}

	print "<br>\n";

	return 0;
}

sub Footer {
	print "</body>\n";
	print "</html>\n";

	return 0;
}

sub GetLatestNumber {
	my @data2 = split(/\n/, get('http://i.hatena.ne.jp/idealist?of=0&st=edittime%20desc&status=all'));  #改行で分解して @data2へいれる

	foreach(@data2) {
            if(/<td class="icontent">/)	{
                $_ =~ /idea\/([0-9]+)"/;
                #print "test" . $1;
                return $1;
            }
	}
	
}

perl a.pl > a.html

f:id:fedora9:20101206234654p:image:left

JasonFoetsJasonFoets2017/01/25 04:27печать буклетаов http://wkrolik.com.ua/products/buklety