3

Wikipedia のランダムな記事の最初のセクションを取得する関数がありますが、その記事の実際の URL を取得する方法がわかりません。WikiMedia API を調べましたが、見つかりませんでした。

getRandomArticle : function() {
    return $.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&explaintext&exintro=&format=json&callback=?", function (data) {});
}

何か案は?

4

2 に答える 2

5

あなたが思うほど簡単ではありません。API は内部 ID を持つページを返します。URL などの特定のページに関する情報を取得するには、API を再度使用する必要があります。

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&explaintext&exintro=&format=json&callback=?", function (data) {
    $.each(data.query.pages, function(k, v) {
        $.getJSON('http://en.wikipedia.org/w/api.php?action=query&prop=info&pageids='+v.pageid+'&inprop=url&format=json&callback=?', function(url) {
            $.each(url.query.pages, function(key, page) {
                console.log(page); // contains the page data
                var url = page.fullurl; // the url to the page
            });
        });
    });
});

フィドル

于 2013-11-30T00:59:15.613 に答える