2009-07-07 20 views
9

Yeni makaleleri doğrudan Wiki yüklemesine zarar vermeden MediaWiki veritabanına eklemenin bir yoluna ihtiyacım var.Makaleleri doğrudan MediaWiki veritabanına ekleme

MediaWiki'nin yeni bir makale oluştururken hangi tabloları/öznitelikler eklediğini bilseydim, bunları kendim doldurabilirdim.

Herkes daha iyi bir yol biliyor mu yoksa öneri mi var?

cevap

4

MediaWiki için kullanılabilen birçok bot ve API'lerin dışında, başlamak için basit bir yer MediaWiki Bulk Page creator'dur.

Basit bir metin biçiminden birkaç sayfa oluşturabilen, Snoopy sınıf kitaplığına dayanan basit bir PHP betiğidir.

Başlamadan önce, önce Creating a Bot'u okuduğunuzdan emin olun. wiki'nize bot erişiminin nasıl kurulacağı hakkında kritik detaylar içerir. Special:Export

İthalat sayfalar Special:Import kullanarak

+0

Çok yardımcı oldu, bunu yaklaşık 30 dakika içinde rss komutumla çalıştırdım. Teşekkürler! –

1

Bunu neden yapmanız gerekiyor?

  • Önceki bir wiki yüklemesinden veri aktarmaya çalışıyorsanız, zaten içe ve dışa aktarma araçları var demektir.
  • Geniş bir önceden biçimlendirilmiş sayfa kümesinin otomatik olarak otomatikleştirilmesini otomatikleştirmek isterseniz, MediaWiki API doğrudan veritabanında arama yapmaktan daha güvenli bir yol sağlar.
+0

dışarı atın. Daha önce hiç kullanmadığım için API'yı nasıl kullanacağım konusunda emin değilim. API'yi kullanarak aynı anda birkaç sayfa (kullanıcının kaç makaleye bağlı olduğuna bağlı olarak) oluşturmak mümkün mü? –

+0

Tek bir aramada 'action = import' kullanmadan çok sayıda sayfa oluşturabildiğinizden emin değilim, ancak oluşturmak istediğiniz her yeni sayfa için bir kez daha 'action = edit' komutunu birden çok kez çağırabilirsiniz. – ephemient

+0

API'ye birden çok çağrı göndermek için muhtemelen cURL kullanabilirim. Bir düzenleme jetonunun nasıl kullanılacağını/oluşturulduğunu veya hangi kullanıcının gönderimi yapılacağını belirlerken sorun yaşıyorum. Aksi halde doğru yoldayım. Yardım için teşekkürler. –

2

Kesinlikle veritabanına doğrudan yazmak istemezsiniz. RSS'den seçilen öğeleri giriş olarak alan ve Article::doEdit()'u kullanarak öğe başına bir wiki makalesi oluşturan bir uzantı oluşturmak isteyebilirsiniz.

1

İhracat sayfaları. İçe aktarılabilmek için 'içe aktarma' user right'a sahip olmanız gerektiğini unutmayın.

2

Bunu bir botla yapmalısınız. Botlar bağımsız olarak çalıştırılabilir, ancak başka bir kodla entegre oluyorsanız, dile dayalı olarak seçmek isteyebilirsiniz. PHP için MediaWiki Bulk Page Creator var. Python için, pymediawiki, Pagefromfile ile birlikte gelir.

Ayrıca, ilgili bir görevi çözen External Data adlı Yaron Koren numaralı bir uzantı da vardır. Dış kaynaklardan gelen verileri wiki sayfalarınıza dahil etmenizi sağlar. URL'lerden, yerel dosyalardan veya veritabanından alınan CSV, XML veya JSON'dan belirli öğeleri çekebilirsiniz.

5

Toplu Sayfa Oluşturucu'nun yazarıyım, hala kullanılmakta olduğunu görmek güzel!

En son MediaWiki Alma aracım, bir CSV veri dosyasından ve sayfa şablonundan sayfalar oluşturur. Adrian tarafından önerildiği gibi Mediawiki XML Alma dosyaları oluşturur. Ben kullanıcı wiki içine eklemek için makaleleri seçebileceğiniz çeşitli RSS beslemeleri listelere bir php komut dosyası yazıyorum

Mediawiki CSV Import

+0

Yeni makale ekleme hakkında birçok sayfa okudum, kategoriler hakkında nasıl, medya wiki kategori ağacı ayrı ayrı oluşturur mu? Tamamen farklı bir veri tabanından medya wiki'sine geçmenin ilk adımı kategoriler oluşturmayı düşünüyorum, değil mi? – HPM

+0

Ayrıca bu web sitesini çalıştıran kodu serbest bıraktınız mı? – guaka