2011-12-28 81 views
0

我们使用Perl和cpan Modul FeedPP来解析RSS源。 的Perl脚本运行低谷RSS源的不同项目和链接保存到数据库中,liket他:feedpp和会话ID

my $response = $ua->get($url); 

if ($response->is_success) { 
     my $feed = XML::FeedPP->new($response->content, -type => 'string'); 
       foreach my $item ($feed->get_item()) { 
         my $link = $item->link(); 
         [...] 

$url包含URL RSS源,如http://my.domain/RSS/feeds.xml

在这种情况下

$item->link()将包含链接的RSS文章,像http://my.domain/topic/myarticle.html

的问题是,一些Web服务器(提供RSS源)没有一个HTTP以一个会话ID添加到URL,这样的参考:http://my.domain/RSS/feeds.xml;jsessionid=4C989B1DB91D706C3E46B6E30427D5CD

奇怪的想法是,feedPP接缝会将此会话ID添加到每个项目的链接。因此,$item->link()包含指向RSS文章的链接,如http://my.domain/topic/myarticle.html;jsessionid=4C989B1DB91D706C3E46B6E30427D5CD

即使原始链接不包含会话ID。

有没有办法改变feedPP的这种行为?

谢谢你的任何帮助。

回答

0

我看了一下http://metacpan.org/pod/XML::FeedPP,但没有看到有任何方法可以让link()方法为你修剪这些会话ID。 (我在我的一个脚本中使用XML :: FeedPP,并且我正在解析的站点不使用会话ID。)

所以我认为答案是否定的,不是目前的答案。您可以尝试联系作者或提交错误。