廃棄された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
コメントする