Wikipedia API

Aspletan

Millipat
Katılım
20 Mart 2020
Mesajlar
998
Çözümler
4
Beğeniler
876
Yer
İstanbul/Kağıthane
Selamlar, andoid bir uygulama için Wikipedia üzerinden veri çekmem gerekiyor. Öncelikle JWiki kütüphanesini kullandım fakat çalışmadı ya da ben beceremedim. Sonrasında iki farklı API araştırdım.

https://tr.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=Stalingrad Muharebesi ( uzun olan )
https://tr.wikipedia.org/api/rest_v1/page/summary/Stalingrad_Muharebesi (kısa olan)

Bu iki link var bulabildiğim. Fakat 1.linkte ki gibi bir açıklama istiyorum ikinci link sadece özet geçiyor. Benim sormak istediğim ise şu,
1.link de sırasıyla "batchcomplete", "query" , "pages" , "konunun page id'si" diyerek açıklama kısmına gidiliyor. İlk linkteki gibi sadece "extract" diyerek açıklamaya ulaşabilir miyim?

Örneğin ben veritabanına Adolf Hitler, Stalin diyerek iki isim giriyorum önceden. Burada o isimleri alıp API kısmında titles yazan yere koyacak ve açıklama kısmındaki yazıyı alacak. Ayrıyeten page id eklemek istemiyorum.

Biraz karışık oldu ama anlatabilmişimdir umarım.
 

wefra

Kilopat
Katılım
30 Kasım 2013
Mesajlar
406
Çözümler
12
Beğeniler
336
Yer
İstanbul
Daha şık bir çözümü vardır mutlaka ama aşağıdaki gibi "extract" değerine ulaşılabilir.
Java:
    private void finish(String result) throws JSONException {
            JSONObject jObject = new JSONObject(result).getJSONObject("query").getJSONObject("pages");
            Iterator<String> keys = jObject.keys();
            while(keys.hasNext()) {
                String key = keys.next();
                if (jObject.get(key) instanceof JSONObject) {
                    String extractTxt = jObject.getJSONObject(key).getString("extract");
                }
            }
        }
 



Yukarı