2011-12-28 59 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。)

所以我認爲答案是否定的,不是目前的答案。您可以嘗試聯繫作者或提交錯誤。