私がやろうとしているのは、特定のウィキペディアの記事に割り当てられているカテゴリと、割り当てられたカテゴリへの href の値の両方を取得することです。
例:
この記事を考えると:
「パン」と「朝食用食品」はカテゴリ名で、「http://en.wikipedia.org/wiki/Category:Breads」と「http://en.wikipedia.org/wiki/Category:Breakfast_foods」はカテゴリ名です。カテゴリリンク
Joddライブラリの「Jerry」を使用してJavaでこれを実行し、JavaでJQueryを使用しています。
これまでのところ、次のコードを使用してカテゴリ名を取得しました。
File file = new File(SystemUtil.getTempDir(), "temp");
NetUtil.downloadFile(url, file);
Jerry doc = Jerry.jerry(FileUtil.readString(file));
String category=doc.$("div#mw-normal-catlinks").text();
catlinks div内のプレーンテキストを返します。この div には、li 要素が単一のカテゴリを表す ul が含まれているため、カテゴリ名とリンクを取得するために list-item-elements を反復する方が洗練されているように見えます。
そのために、次のことを試しました。
doc.$("div#mw-normal-catlinks").children().each(new CategoryFinder());
ここでの考え方は、JerryFunctionオブジェクトを使用して、各子の名前とリンクを取得することです (それぞれにパラメーターとして JerryFunction が必要です)。お気づきかもしれませんが、ul 要素ではなく div で children() を呼び出しています。これは、その方法の手がかりがないためです。
このアプローチを機能させるにはどうすればよいですか? また、カテゴリ名とリンクを取得する別の方法はありますか?