2014-06-29 26 views
15

Tüm Vikipedi makalelerinin tüm başlıklarının bir listesini edinmek istiyorum. Wikimedia destekli bir wiki'den içerik almanın iki olası yolu olduğunu biliyorum. Biri API ve diğeri bir veritabanı dökümü olurdu.Tüm Wikipedia makalelerinin başlıklarının bir listesi nasıl alınır?

Wiki dökümünü indirmemeyi tercih ederim. Birincisi büyük çünkü ikincisi veritabanlarını sorgulama konusunda deneyimli değilim. Öte yandan, API ile ilgili sorun, yalnızca makale başlıklarının bir listesini almak için bir yol bulamadım ve hatta muhtemelen herhangi bir başka istekte bulunmamı engelleyen 4 milyona ihtiyaç olsa bile. Yani benim sorum 1 dir. Tha API aracılığıyla sadece wikipedia makalelerinin başlıklarını edinmenin bir yolu olup olmadığını ve 2. birden fazla istek/sorguyu bir araya getirmenin bir yolu olup olmadığını. Ya da aslında bir wikipedia dökümü indirmek zorunda mıyım?

+0

Bunu [API Sandbox] deneyebilirsiniz (http://en.wikipedia.org/wiki/Special%3aApiSandbox#action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow) ya da gerçek [sorgu] (http : //en.wikipedia.org/w/api.php? action = sorgu & liste = allpages & format = json) – chridam

cevap

30

The allpages API module sadece bunu yapmanızı sağlar. Limiti (aplimit=max'u ayarladığınızda) 500'dür, bu yüzden tüm 4.5M makalelerini sorgulamak için yaklaşık 9000 istek gerekir.

Ancak bir çöplük daha iyi bir seçimdir çünkü all-titles-in-ns0 dahil olmak üzere, adından da anlaşılacağı gibi, tam olarak ne istediğinizi içeren (59 MB'lık gzipli metin) birçok farklı döküm vardır.

+1

Harika, çok teşekkürler! Tam olarak böyle bir çöplük arıyordum ama birini bulamadım. Ben bir dökümü aramak için tek bir tık sanırım beni tam olarak bu indirme getirdim :) teşekkürler! – Flavio

+0

Bu bize yardımcı oldu. Tüm çöplüklerin listesini içeren sayfanın bağlantısını verebilir misiniz? –

+0

@VivekSancheti [Aşağıda geçen aydan itibaren tüm İngilizce Vikipedi döküntüleri listeleniyor] (https://dumps.wikimedia.org/enwiki/20161020/) – svick

İlgili konular