我想要做的是获得分配给某个维基百科文章的类别以及指定类别的href值。获取维基百科分类链接
例子:
鉴于this article:
“面包” & “早餐食品” 是目录 名称和“http://en.wikipedia.org/wiki/Category:面包” & “http://en.wikipedia.org/wiki/Category:Breakfast_foods” 是 categorylinks
我在java中使用Jodd库中的'Jerry'来在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包含一个ul元素li元素表示一个类别,所以迭代list-item-elements似乎更复杂,以获得类别名称&链接。
要做到这一点我试过如下:
doc.$("div#mw-normal-catlinks").children().each(new CategoryFinder());
这里的想法是使用JerryFunction对象来获取名称和链接为每个孩子(每个需要JerryFunction作为参数)。 正如你可能会注意到我呼吁儿童()在div而不是ul元素 - 这是缺乏线索如何做到这一点。
我该如何使这种方法有效?另外,是否有另一种方式获得类别名称&链接?
试图解析维基百科页面的HTML是不是一个好主意。您应该使用[API](https://www.mediawiki.org/wiki/API)。 – svick