2013-11-21 44 views
3

MediaWiki::DumpFile頁面下面的代碼是存在:如何使用MediaWiki :: DumpFile將Wikipedia XML轉儲轉換爲HTML?

use MediaWiki::DumpFile; 

    $mw = MediaWiki::DumpFile->new; 

    $sql = $mw->sql($filename); 
    $sql = $mw->sql(\*FH); 

    $pages = $mw->pages($filename); 
    $pages = $mw->pages(\*FH); 

    $fastpages = $mw->fastpages($filename); 
    $fastpages = $mw->fastpages(\*FH); 

    use MediaWiki::DumpFile::Compat; 

    $pmwd = Parse::MediaWikiDump->new; 

我完全新的Perl和不知道做什麼用$ fastpages保存所有的HTML頁面(或文本,這並不重要)來自XML轉儲。你可以幫我嗎?什麼是* FH?

+0

在搜索提取庫時,我發現這個優秀的頁面:http://medialab.di.unipi.it/wiki/Wikipedia_Extractor。它可以用來代替有問題的方法。 – DSblizzard

回答

3

我還沒有使用它,但對於MediaWiki::DumpFile::FastPages的文檔具有打印每篇文章的標題和正文中轉儲文件下面的例子:

use MediaWiki::DumpFile::FastPages; 

$pages = MediaWiki::DumpFile::FastPages->new($file); 
$pages = MediaWiki::DumpFile::FastPages->new(\*FH); 

while(($title, $text) = $pages->next) { 
    print "Title: $title\n"; 
    print "Text: $text\n"; 
} 

這將寫一切stdout。當您創建MediaWiki::DumpFile::FastPages對象時,您可以傳遞文件名稱,例如,

$file = "/path/to/dump/file"; 
$pages = MediaWiki::DumpFile::FastPages->new($file); 

或文件的引用手柄,例如

open FH, "<", "/path/to/dump/file" or die "Failed to open file: $!"; 
$pages = MediaWiki::DumpFile::FastPages->new(\*FH);