廃棄されたAdobeのアップデートファイル一覧ページ
スポンサードリンク
http://www.adobe.com/jp/support/downloads/new.html
のページを RSS 化している、
adobe.com/jp - Downloadable Files
http://dtpwiki.jp/rss/adobecojpnewdownloads.xml
が、更新とまっとる。おそらく、アドビに廃棄されたんだと思われ。
こんなコードで生成していました。
#!/usr/bin/perl -w
use strict;
use LWP;
use XML::RSS;
use HTML::Entities;
use utf8;
use Encode;
my $url = 'http://www.adobe.com/jp/support/downloads/new.html';
my @headers = (
'User-Agent' => 'DTPWiki.jp html2RSSbot(http://dtpwiki.jp/rss/adobecojpnewdownloads.xml)',
);
my $browser = LWP::UserAgent->new;
my $response = $browser->get($url, @headers);
exit 1 unless $response->is_success;
my $html = decode('UTF-8',$response->content);
$html =~ s/\x0D\x0A|\x0D|\x0A/\n/g;
my $rss = XML::RSS->new;
$rss->add_module(
prefix=>'content',
uri=>'http://purl.org/rss/1.0/modules/content/'
);
$rss->channel(
title => 'adobe.com/jp - Downloadable Files',
link => $url,
description => 'adobe.com/jp - Downloadable Files',
language => 'ja',
dc => {
publisher => 'adobe.com/jp',
contributor => 'DTPWiki.jp',
},
syn => {
updatePeriod => 'weekry',
updateFrequency => '1',
},
);
my ($filesize,$link,$date,$title,$description,$platform);
my (%item,@items);
$html =~ s|.+?<!--TABLE-->||s;
$html =~ s|<div id="globalfooter">.+?||s;
$html =~ s|\n||g;
$html =~ s|> +?<|><|g;
$html =~ s|<!-- rowstart:spacer5 -->||g;
$html =~ s|<!-- rowend:spacer5 -->||g;
$html =~ s|<!-- rowstart:interline -->||g;
$html =~ s|<!-- rowend:interline -->||g;
$html =~ s|<!-- rowstart:content -->||g;
$html =~ s|<!-- rowend:content -->||g;
$html =~ s|<!-- rowstart:border -->||g;
$html =~ s|<!-- rowend:border -->||g;
$html =~ s|<!-- rowstart:spacer15 -->||g;
$html =~ s|<!-- rowend:spacer15 -->||g;
$html =~ s| width="585">|>|g;
$html =~ s|colspan="7" height="30" nowrap="NOWRAP">|colspan="7" height="30">|g;
$html =~ s|<td bgcolor="#cccccc" class="size2" colspan="7" height="30"><a href="(.+?)"><strong>(.+?)</strong></a></td>|<td bgcolor="#cccccc" class="size2" colspan="7" height="30"><strong><a href="$1">$2</a></strong></td>|g;
$html =~ s|<td bgcolor="#cccccc" class="size2" colspan="." height="30">|<!-- separator --><td bgcolor="#cccccc" class="size2" colspan="7" height="30">|g;
$html =~ s|<a class="size1" href="|<a href="|g;
$html =~ s|<td align="right" class="size1" width="100"></td><td width="15"></td>||;
$html =~ s|$|<!-- separator -->|;
#print $html;
#exit;
(my $Regex = <<'REGEX') =~ tr/\n//d;
<td align="right" class="size1" width="100">(.+?)</td>.*?
<td class="size1" width="350"><a.+?href="(.+?)".*?>(.+?)</a>.*?
<td class="size1" width="70">(.+?)</td>
REGEX
my $i;
while($html =~ m|<td bgcolor="#cccccc" class="size2" colspan="." height="30"><strong><a.+?>(.+?)</a>(.+?)<!-- separator -->|gsio) {
my $category = $1;
my $html2 = $2;
$platform = '[Mac]' if ($category =~ m/Mac/);
$platform = '[Win]' if ($category =~ m/Win/);
while ($html2 =~ m/$Regex/gsi) {
$date = $1;
$link = $2;
$title = $3;
$filesize =$4;
my $date2 = "20$date";
$link = "/jp/support/downloads/$link" unless ($link =~m|/|);
$platform = '[Mac]' if ($link =~ m/mac/);
$platform = '[Win]' if ($link =~ m/win/);
push @items ,{
title => normalize2("$platform$title"),
description => normalize("[$date] $title ($filesize)"),
link => encode_entities("http://www.adobe.com$link"),
date => datecheck($date),
content => "<![CDATA[$description]]>"
}
}
}
my @sort = sort { $b->{date} cmp $a->{date} } @items;
foreach my $item (@sort) {
$description = $item->{'description'};
$rss->add_item(
link => $item->{'link'},
title => $item->{'title'},
description => $description,
dc => {
date => $item->{'date'},
},
content => {
encoded => "<![CDATA[$description]]>",
},
);
}
if ($ENV{GATEWAY_INTERFACE}) {
require CGI;
print CGI::header('text/xml; charset=utf-8');
}
print $rss->as_string();
sub normalize {
local $_ = shift;
tr/ \r\n//d;
return $_;
}
sub normalize2 {
local $_ = shift;
tr/ \r\n//d;
s/<(?:[^>'"]*|(['"]).*?\1)*>//gs;
return $_;
}
sub datecheck {
local $_ = shift;
tr#/#-#d;
s/^/20/;
return $_;
}
ちなみに、今はこっちみたい。
http://www.adobe.com/jp/downloads/updates/
そのうち直します。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2144





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする