5

Wikia ページから情報を取得してアプリに表示する Android アプリを開発しています。現在、ナビゲートするすべてのカテゴリをプルしており、WebView にページを表示するようにアプリを設定していますが、WebView に渡して安くするのではなく、情報をプルして自分でフォーマットしたいと考えています。

テキストを取得するために私が使用しているのは: http://scottlandminecraft.wikia.com/api.php?format=xml&action=query&titles=ZackScott&prop=revisions&rvprop=content

私の問題は、テキストが大きな塊で戻ってくることです。タグから解析できるように、これをよりフォーマットする方法について何か考えがある人はいますか?それを見つけるのに時間を費やしていますか? もしそうなら、これが引っ張るテキストの識別子から行くことによって必要なテキストを解析する方法を見つける方が良いでしょうか、それとももっと良い方法がありますか?

ご入力いただき、ありがとうございました。

4

3 に答える 3

11

Wiki マークアップを自分で解析したくない場合の最も簡単な方法は、ページの解析済み HTML バージョンを取得し、HTML パーサー ( Hashamが推奨する jsoup など) を使用して処理することです。

MediaWiki ページの HTML テキストを取得するには、通常の Wiki ユーザー インターフェース (ナビゲーション スキンでラップされた HTML ページが得られます) をスクレイピングするだけでなく、次の 2 つの方法があります。

  1. で API を使用するとaction=parse、次のように、MediaWiki API XML (または JSON / YAML / など) 応答でラップされたページ HTML が返されます。

  2. またはメインindex.phpスクリプトをで使用すると、ページの HTMLのみaction=renderが返されます。

Ps。質問でセクションについて言及したので、API モジュールは(またはaction=parseを使用して) ページ上のセクションに関する情報を返すことができることに注意してください。例については、次の API クエリを参照してください。prop=sectionsprop=sections|text

于 2013-03-28T18:11:28.680 に答える
3

コンテンツは wiki 構文を使用してフォーマットされています。Blikiと呼ばれる Java エンジンを使用して、HTML でレンダリングできます。

http://code.google.com/p/gwtwiki/

http://code.google.com/p/gwtwiki/wiki/Mediawiki2HTML

Bliki は Android 向けには考えられていません。コンパイルするために必要です。それができるようです:

https://groups.google.com/forum/?fromgroups=#!topic/bliki/LNsmnEEZEV4

于 2013-03-28T13:18:49.220 に答える
1

HTML ドキュメントを解析する場合は、 Jsoupを選択します。

于 2013-03-28T13:35:33.940 に答える