it-swarm-tr.com

Wikipedia'da bir makalenin belirli bir bölümünü kimin yazdığını nasıl bulabilirim?

Sürüm kontrol sistemleri genellikle bu özelliği "birini suçlamak" olarak adlandırır. Her satır için, onu kimin ve ne zaman değiştirdiğini gösterir.

Güncelleme: Binlerce düzenleme içeren makaleler için de bir çözüm arıyorum (yani sürüm geçmişine göz atmak ve her birini kontrol etmek pratik değildir).

14
Senseful

Bir makale için View History linkini tıklarsanız, makalede, hangi tarihte ve kimin tarafından yapılan değişikliklerin listesini görebilirsiniz. Değişiklik açıklamasının kısa bir özeti de görüntülenir. Daha sonra metni karşılaştırmak için Compare selected version düğmesini tıklatabilirsiniz.

Maalesef, değişiklikleri belirli bir hatta veya cümleyi veya paragrafta kimin yaptığını doğrudan görmenizi sağlayan ( Suçlama özelliğinden haberdar değilim.

EDIT: Kontrol etmek isteyebilirsiniz Greg Hewill'in sitesi , o (görünüşe göre) sadece böyle bir suçlama özelliği üzerinde çalışıyor.

4
LBushkin

Vikipedi'de revizyonların aranmasına izin veren http://wikipedia.ramselehof.de/wikiblame.php?lang=en kullanın.

11
Andrew

Bunu, her wikipedia makalesinin sağ üst köşesinde bulunan "View History" öğesine tıklayarak yapabilirsiniz. Burada bir makalenin revizyonlarının bir listesini bulacaksınız. Özellikle her bir kullanıcı tarafından taahhütte bulunmak istiyorsanız, her revizyonun yanındaki "cur" seçeneğine tıklayabilirsiniz ve wikipedia neyin değiştiğini vurgulayacaktır.

0
Oren Hizkiya

Bunu yapmanın bir yolu, makale geçmişini dışa aktarmak ve revizyonları _git blame_ gibi bir yerel araç kullanarak yapmaktır. Bu bir komut dosyası kullanılarak yapılabilir.

Makale geçmişini dışa aktarmak için kullanın _Special:Export_ , özellikle: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights .

Suçu oluşturmak için önce revizyonları geçici bir git deposuna ekleyin (Python 3 ile gösterilmiştir):

_import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
    os.chdir(repo.name)
    subprocess.check_call(['git', 'init'])
_

Daha sonra dışa aktarılan geçmiş XML'i indirin, _lxml.etree_ gibi bir şeyle ayrıştırın ve düzeltmelerin üzerine gelin (xpath _//revision_). Her revizyon için metni bir dosyaya yazın (say _article.wiki_), yazarı okuyun ve çalıştırın.

_subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])
_

Tüm revolar depoya eklendikten sonra, her satırın yazarını görmek için _git blame article.wiki_ komutunu çalıştırın.

Not: _Special:Export_, verilen revizyonların sayısını sınırlayabilir, bu nedenle uzun geçmişi olan sayfalarda XML'i birden çok kez almanız gerekebilir.

0