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) 見れたサイトまとめ
編集

2011-09-21

全記事のURLリストを取得

| 全記事のURLリストを取得 - Perlメモ を含むブックマーク はてなブックマーク - 全記事のURLリストを取得 - Perlメモ 全記事のURLリストを取得 - Perlメモ のブックマークコメント


#!/usr/local/bin/perl
#記事URLのリストを表示

use strict;
use lib qw(./mylib);
use LWP::Simple;
use Encode;
use LWP;

printURLList();  

sub printURLList {
	my $start = 0;
	my $page =  2;  #最終ページを指定

	my $ua = LWP::UserAgent->new();
	for(my $i=$start; $i<$page; $i++)
	{
		my %hash;

		my $itemnumber = $i;
		my $url = 'http://ameblo.jp/hiroyuki12/page-' . $itemnumber . '.html#main';

		# WEBページ取得して変数に格納
		my @data = split(/\n/, get($url));  #改行で分解して @dataへいれる
		
		foreach ( @data ) {
			if(/URL/) {
				s/<a href=.*?"//g;  #<a href= から " まで除去
				s/".*?a>//g;  #" から a> まで除去
				#print $_ . "\n";  #URLを表示

				my $res = $ua->get($_);
				if($res->is_success){
					my $title=$res->title;
					my $len = length($title);
					my $lenBlogName = 29;  #Vine Linux 6(あめぶろ)
					$title = substr($title,0, $len - $lenBlogName);
					print $title . "," . $_ . "\n";  #タイトル

					#$hash{$title} = $_;  #ハッシュに代入

					#print $hash{$title} . "\n";  #URL
				} else {
					print $res->status_line;
				}
			}
		}
	
		

	}
	
	return 0;
}

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 Footer {
	print "</body>\n";
	print "</html>\n";

	return 0;
}

$ perl a.pl > a.txt

ゲスト



トラックバック - http://perlmemo.g.hatena.ne.jp/fedora9/20110921