Wer von Java aus auf die Inhalte von Wikipedia zugreifen, und die Inhalte auch noch Rendern möchte, findet mit der quelloffenen Java Wikipedia API (http://www.matheclipse.org/en/Java_Wikipedia_API) eine passende Unterstützung.
Zum Laden einer Wikipedia-Seite und Renderer in eine Datei ist lediglich nötig:
User user = new User( "", "", "http://de.wikipedia.org/w/api.php" );
List<Page> queryContent = user.queryContent( Arrays.asList( "Java (Programmiersprache)" ) );
String content = queryContent.get( 0 ).getCurrentContent();
WikiModel wikiModel = new WikiModel( "http://de.wikipedia.org/wiki/${image}",
"http://de.wikipedia.org/wiki/${title}" );
String rendererdHtmlContent = wikiModel.render( content );
FileWriter fw = new FileWriter("c:/test.html");
fw.write( rendererdHtmlContent );
fw.close();
Einige Dinge löst der Renderer aber nicht auf. So verbleiben im Text Wiki-Templates wie
- {{Infobox Programmiersprache}}
- {{IPA}}
- {{Wikiversity}}
- {{Wikibooks}}
oder bei anderen Texten
- {{Begriffsklärungshinweis}}
- {{Commonscat}}
- {{internetquelle}}
- {Literatur}}
Auch Bilder werden standardmäßig nicht richtig umgesetzt. So wird bei http://de.wikipedia.org/wiki/Linux aus
[[Bild:Linus Torvalds.jpeg|thumb|right|Linus Torvalds 2004]]
kein Bild, sondern ein Link
<a href="http://de.wikipedia.org/wiki/Bild:Linus_Torvalds.jpeg%7Cthumb%7Cright" id="w">Linus Torvalds 2004</a>
Dumm nur, dass %7Cthumb%7Cright falsch ist, sonst wäre wenigstens der Link korrekt. (%7C ist |)