GuttenPlag Wiki

Liest auch alle Fragmente aus dem Wiki und speichert sie mit Kategorien in einer CSV Datei ab. Die erstellte CSV-Datei sieht wie folgt aus:

Seite,Von_Zeile,Bis_Zeile,Kategorie
17,1,18,BauernOpfer
29,128,133,BauernOpfer
47,23,31,BauernOpfer
102,1,6,BauernOpfer
122,1,11,BauernOpfer
130,10,25,BauernOpfer
145,14,18,BauernOpfer
151,1,45,BauernOpfer
156,15,19,BauernOpfer

Skriptsprache: Python 2.7

# -*- coding: cp1252 -*-
import json, re, csv
from urllib2 import urlopen

f = open('fragmente.csv', 'wb')
csv = csv.writer(f)

urlbase = 'http://de.guttenplag.wikia.com/api.php?action=query&format=json&list=categorymembers&cmlimit=500&cmtitle=Kategorie:'

categories = ['BauernOpfer','VerschärftesBauernOpfer', 'HalbsatzFlickerei',
              'KomplettPlagiat', 'ShakeAndPaste', 'StrukturPlagiat', 
              'UnbekannteQuelle', 'Verschleierung', 'ÜbersetzungsPlagiat']

csv.writerow(['Seite', 'Von_Zeile', 'Bis_Zeile', 'Kategorie'])

for cat in categories:
    url = urlbase + cat
    data = urlopen(url).read()
    data = json.loads(data)
    for page in data['query']['categorymembers']:
        if page['title'].startswith('Fragment'):
            m = re.search('Fragment (\d+) (\d+)\-(\d+)', page['title'])
            if m:
                p = int(m.group(1))
                l1 = int(m.group(2))
                l2 = int(m.group(3))
                csv.writerow([p, l1, l2, cat])

f.close()