在这一切方面我完全是个菜鸟,但前一段时间我用 Perl 编写了一个小脚本来解析 RSS 提要。它是这样开始的:
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)。我尝试重新安装模块,但这似乎并没有改变任何东西。