pageinfo | |
---|---|
status | Draft |
<!DOCTYPE markdown>
미디어위키를 사용하는 데에 있어 유용한 tip들의 모음.
아래 내용은 최신 미디어위키(1.35 이상)에 해당한다. 그 이전 내용은 여기를 참고하라.
우선, sql에 접근하여 전체 페이지의 최신 revision을 하나의 파일로 dump한다.
SELECT page_title, page_touched, old_text FROM revision,page,text,content,slots WHERE page.page_latest=revision.rev_id AND revision.rev_id=slots.slot_revision_id AND slots.slot_content_id=CONVERT(SUBSTRING(content.content_address,4),INT) AND CONVERT(SUBSTRING(content.content_address,4),INT)=text.old_id AND page_namespace!='6' AND page_namespace!='8' AND page_namespace!='12' INTO OUTFILE '/var/tmp/wikipages.csv' FIELDS TERMINATED BY '\n' ESCAPED BY '' LINES TERMINATED BY '\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n';
그 다음, 파이썬 등의 스크립트를 통해 이를 각각의 파일로 분리한다.
with open('wikipages.csv', 'r') as f: alltxt = f.read().split('\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n') for row in alltxt: one = row.split('\n') name = one[0].replace('/','-') try: del one[0] del one[0] except: continue txt = '\n'.join(one) of = open('~/wikipages/' + name + '.txt', 'w') of.write(txt) of.close()
Backlinks