私はこのすべてにまったくの初心者ですが、しばらく前に、RSS フィードを解析するための小さなスクリプトを Perl で書きました。次のように始まります。
use strict;
use XML::RSS::Parser;
use Data::Dumper;
my $url = "http://www.livenation.co.uk/Venue/159/Southampton-Guildhall-tickets/RSS";
my $parser = XML::RSS::Parser->new();
my $feed = $parser->parse_uri($url);
print Dumper( $feed );
print $parser->errstr();
以前は機能していました (最後にいつチェックしたか思い出せませんが、数週間前は機能していたようです) が、今日では機能しなくなりました。RSS フィードは有効で、feedvalidator.org を通過します。はこれerrstr()
を返します:
End tag mismatch (title != description) [Ln: 67, Col: 95]
これがどのように起こったのか、またはこれが何を意味するのかはよくわかりません。RSS のソースは次のとおりです。
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
以前と違うかどうかはわかりません。他のいくつかのアトムフィードを試しましたが、パーサーはそれらすべてで壊れているようです。問題は、システム管理者が締め切り後まで戻ってこないことです。そのため、利用可能なものを使用する必要があります。
アップデート:
面白い。私の w7 64 *active perl) と ubuntu (32, 9.10) のインストールの両方で壊れます。ただし、友人のubuntuでも問題なく動作します(同じ、9.10)。モジュールを再インストールしようとしましたが、何も変わらないようです。