Wikipedia API

Katılım
20 Mart 2020
Mesajlar
1.080
Makaleler
1
Çözümler
5
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.
 
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");
                }
            }
        }
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı