2013-11-21 4 views
3

가 존재 :MediaWiki :: DumpFile을 사용하여 Wikipedia XML 덤프를 HTML로 변환하는 방법? 코드 다음 페이지 <a href="http://search.cpan.org/~triddle/MediaWiki-DumpFile-0.2.2/lib/MediaWiki/DumpFile.pm#___top" rel="nofollow">MediaWiki::DumpFile</a>에

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; 

펄에 완전히 새로운 해요 모든 HTML 페이지를 저장하는 $와 fastpages을 수행하는 (또는 텍스트, 그것은 중요하지 않습니다) 모르겠어요 XML 덤프에서. 너 나 좀 도와 줄 수있어? 그리고 * FH는 무엇입니까?

+0

추출 라이브러리를 검색하는 동안이 우수한 페이지를 찾았습니다 : http://medialab.di.unipi.it/wiki/Wikipedia_Extractor. 문제의 방법 대신 사용할 수 있습니다. – DSblizzard

답변

3

나는 그것을 사용하지 않은하지만 MediaWiki::DumpFile::FastPages 설명서에 덤프 파일에 각 기사의 제목과 텍스트를 인쇄하기위한 다음과 같은 예를 가지고 : 이것은 stdout에 모든 것을 기록합니다

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"; 
} 

합니다. 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);