इसे करने का एक तरीका लेख के इतिहास को निर्यात करना है, और फिर स्थानीय उपकरण का उपयोग करके संशोधनों की प्रक्रिया करना है git blame
। यह एक स्क्रिप्ट का उपयोग करके किया जा सकता है।
लेख के इतिहास को निर्यात करने के लिएSpecial:Export
, विशेष रूप से उपयोग करेंhttps://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights
:।
दोष उत्पन्न करने के लिए, पहले संशोधन को एक अस्थायी गिट रिपॉजिटरी में जोड़ें (पायथन 3 में दिखाया गया है):
import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
os.chdir(repo.name)
subprocess.check_call(['git', 'init'])
फिर निर्यात किए गए इतिहास XML को डाउनलोड करें, इसे कुछ इस तरह से पार्स करें lxml.etree
, और संशोधनों (xpath //revision
) पर लूप करें । प्रत्येक संशोधन के लिए, एक फ़ाइल (कहना article.wiki
) पर पाठ लिखें , लेखक को पढ़ें, और चलाएं
subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])
रेपो में सभी संशोधन जोड़े जाने के बाद, git blame article.wiki
प्रत्येक पंक्ति के लेखक को देखने के लिए दौड़ें ।
नोट: Special:Export
निर्यात किए गए संशोधनों की संख्या को प्रतिबंधित कर सकता है, इसलिए लंबे इतिहास वाले पृष्ठों में आपको कई बार XML प्राप्त करना पड़ सकता है।