새로 오신 분들은 길라잡이를 꼭 읽어주세요.

문서의 정리·작성번역을 도와주시면 마인크래프트 위키에 큰 힘이 됩니다.

We are currently performing an upgrade to our software. This upgrade will bring MediaWiki from version 1.31 to 1.33. While the upgrade is being performed on your wiki it will be in read-only mode. For more information check here.

도움말:유지보수/일괄편집봇

Minecraft Wiki
이동: 둘러보기, 검색
마인크래프트 위키 유지보수 매뉴얼
소개
모듈
일괄 편집

이 문서는 일괄 편집(batch edit)을 위한 도구와, 그 도구를 사용하기 위한 로그인 정보(login credential)를 생성하는 법을 기술합니다. 일괄 편집 작업 중 '찾아바꾸기'를 중심으로 기술하며, 이를 위한 한국어의 조사 처리 기법과 정규표현식 또한 가볍게 다룹니다.

시작하기 전에[원본 편집]

모든 자동 편집 도구는 여러분의 계정으로 접속해 여러분의 계정명을 편집 기록에 남깁니다. 서버 입장에서는 여러분 자신이 직접 편집하는 것과 다른 것이 없습니다. 편집 사항이 올바른지 꼭 확인해주시고, 위키 규정을 숙지하시고, 자신의 책임 하에 편집이 이루어짐을 꼭 숙지해 주세요.

봇 사용 중 도움이 필요하면, 혹은 일을 벌였는데 뒤처리가 곤란하면 관리자를 괴롭히는 방법도 있습니다.

이제 변호사 같은 이야기는 넘어가고...

일괄 편집[원본 편집]

일괄 편집은 하나의 편집 사항을 여러 문서에 적용하는 것을 말합니다. 가장 흔한 일괄 편집의 예로는 '찾아바꾸기'가 있는데, 예를 들어 모든 문서에 있는 '블럭'이라는 단어를 '블록'으로 바꾸는 것입니다.

준비물[원본 편집]

우선 봇이 위키에 접속할 수 있도록 '봇 비밀번호'를 생성해야 합니다. 이 비밀번호를 '로그인 정보'라고 합니다. 그 다음은 실제 작업을 위한 봇 프로그램이 있어야 합니다. 이 매뉴얼에서는 '오토위키브라우저' (AutoWikiBrowser)를 사용합니다.

비밀번호 생성[원본 편집]

사이드바의 '특수 문서 목록'을 누르면 봇비밀번호라는 것이 있습니다. 여기에서 '로그인 정보'를 생성하게 됩니다.

우선 '봇 이름'이라는 칸이 있습니다. 여기에는 자신이 알아볼 수 있는 문구를 입력합니다. 이 봇 이름은 비밀번호가 아닌 말 그대로 봇 이름입니다. 입력하면 권한 목록이 있는데, 이는 봇이 이용할 수 있는 권한을 지정합니다. 봇 계정은 별도의 사용자가 생성되는 것이 아니므로 자기 자신이 갖고 있지 않은 권한은(예: 문서, 판 및 기록 항목 삭제) 봇 또한 사용할 수 없습니다.

허용된 IP 대역은 이 봇이 접속할 수 있는 공인 IP 대역을 지정할 수 있는데, 건드릴 이유가 없으면 기본값으로 둡니다. 기본값은 모든 IP를 허용합니다.

만들기를 누르면 봇의 아이디와 비밀번호가 생성됩니다. 아이디는 Alswo96284@example01와 같이 생성되고, 비밀번호는... 그냥 잠시 메모장에 복사 붙여넣기 해 둡니다.

봇 비밀번호 관리[원본 편집]

다시 봇비밀번호로 돌아가면 방금 생성한 봇 비밀번호가 떠 있습니다. 여기에서 봇의 권한 설정을 바꿀 수 있고, 필요 없어진 '로그인 정보'를 삭제할 수도 있습니다.

도구 설치[원본 편집]

  • 주의: 오토위키브라우저는 윈도 상에서만 실행 가능합니다. 맥/리눅스 사용자는 Wine으로 가동할 수도 있겠으나, 전 안 해봤습니다. 본인의 책임하에 해보세요.

이제 도구를 다운로드 해봅시다. 다운받은 ZIP파일의 내용물은 적당한 데에 압축을 풉니다. 실행 파일은 AutoWikiBrowser.exe입니다.

이제 오토위키브라우저를 실행시키고, 본 위키에서 작동하도록 설정해줘야 합니다.

  1. 상단 메뉴의 Options > Preferences...를 누릅니다
  2. Preferences 창에서 Site 탭을 누릅니다
  3. Project는 Custom, http://는 https://로 바꿉니다
  4. 빈 칸에 minecraft-ko.gamepedia.com을 입력합니다
  5. OK를 눌러 저장하고 빠져나옵니다

로그인하기 전에 오토위키브라우저에 여러분의 로그인 정보를 저장해야 합니다.

  1. 상단 메뉴의 File > Log in/Profiles...를 누릅니다
  2. 중간 쯤에 Add...를 누릅니다
  3. Add new Profile 창이 뜨면, Username에는 봇의 아이디를 입력합니다
  4. 비밀번호를 입력하기 전에 Save Password?를 체크합니다
  5. 이제 Password 칸에 봇의 비밀번호를 입력합니다
  6. OK를 눌러 저장하고 빠져나옵니다

이제 로그인을 시도합니다. 아까 전의 Profiles 창을 열어 저장된 아이디를 선택한 후 Add 왼쪽에 있는 Login을 누릅니다. 로그인은 자동으로 이루어지지 않으므로 매번 실행시마다 직접 해야 합니다.

찾아 바꾸기[원본 편집]

편집을 시작하기 전에 편집할 문서의 목록을 만들어야 합니다. 아래 왼쪽의 Make list 칸을 봅니다. Source 옵션에서 적절한 옵션을 선택합니다. 주로 쓰게 될 옵션은 다음과 같습니다.

  • Wiki search (text)
    • 위키에서 특정 문구가 든 문서를 찾습니다. 위키의 검색 창과 같은 기능입니다.
  • Wiki search (text) (all NS)
    • Wiki search text를 모든 이름공간(예: 틀, 모듈, 토론)에 적용합니다.
  • Wiki search (title)
    • 위키에서 특정 제목이 든 문서를 찾습니다.
  • Wiki search (title) (all NS)
    • Wiki search title을 모든 이름공간(예: 틀, 모듈, 토론)에 적용합니다.

위 네 개중 하나를 선택한다면 바로 아래 칸이 Wiki search:로 바뀝니다. 이 칸에 검색하고자 하는 문구를 넣고 Make list를 누르면 아래 칸에 문서의 목록이 만들어집니다. 문서 목록에는 RemoveFilter가 있습니다. Remove는 문서 목록에서 선택한 문서를 빼고, Filter는 조건부로 문서를 뺍니다.

이제 바로 옆 칸에서 Options 탭을 봅니다. 찾아바꾸기는 영어로 Find and replace라고 하는데, 이런 이름으로 된 체크 상자가 가운데에 있습니다. 칸을 체크하고 보면 세 개의 버튼이 있습니다. 여기에서 무엇을 찾아 바꿀지를 정의합니다.

Normal settings를 누르면 찾아바꾸기 창이 뜹니다. Find 셀에는 찾을 문구, Replace 셀에는 바꿀 문구를 입력합니다. 아래 칸에 문구를 입력하면 자동으로 칸이 하나씩 추가되어 여러 건의 찾아바꾸기를 수행할 수 있습니다.

찾아바꾸기 옵션은 다음과 같습니다.

CaseSensitive 문구를 찾을 때 대소문자 구분
Regex 찾는 문구가 정규표현식인지. 무슨 말인지 모르겠다면 체크 해제합니다.
MultiLine 정규식에서, ^...$ 절이 모든 입력 문자열이 아닌 각 줄에 매칭되는지
SingleLine 정규식에서, . 이 개행 문자(\n)도 매칭하는지
Minor 사소한 편집인지 (위키 편집 창의 그것)
After fixes 오토위키브라우저 자체의 위키 문법 교정이 이루어진 후에 검사하는지
Enabled 해당 설정(줄)을 사용하는지

설정이 끝났으면 Start 탭으로 이동합니다. Start를 누르면 적용한 설정으로 편집을 시작합니다. 조건에 맞는 문서가 있으면 지금까지 비어있던 창에 변동 사항이 뜹니다. 이 변동 사항을 검토한 후에 Save를 눌러 편집을 저장합니다. 그러면 목록에 있는 다음 문서를 처리합니다. Skip은 편집을 저장하지 않고 다음 문서로 넘어가는 기능입니다. 찾아바꾸기를 잘못 설정했다면 Stop을 눌러 정지할 수 있습니다. 그런 다음에는 잘못된 설정을 바로잡고 다시 Start를 누르면 새로운 설정으로 계속 진행됩니다.

편집을 검토할 때에는 다음 보기 옵션을 사용할 수 있습니다.

Preview 수정된 문서를 미리 보기함 (위키 편집 창의 그것)
Diff 수정된 문서를 차이 보기함 (위키 편집 창의 그것)

Start/Stop이 있는 탭 오른쪽에는 Edit box탭이 있습니다. 이는 위키의 편집 창과 같은 것인데, 찾아바꾸기가 적용된 문서의 소스가 나타납니다. 이 칸을 수정하고 Save를 누르면 수정된 사항이 저장됩니다. 여기에서 찾아바꾸기 외의 개별 편집을 행할 수 있습니다.

한국어의 조사[원본 편집]

한국어 끝 글자 갖는 받침에 따라 따라오는 조사 달라진다는, 전산처리에
같이
까다로운 특성 있습니다. 찾아바꾸기으로 문서 수정했는데, 문서 이 문장처럼 보이면 읽기 거북하지 않겠습니까? 따라서 찾아바꾸기를 할 때 조사도 같이 바꿀 필요가 있습니다. 이 문단은 독자가 한국어를 유창하게 한다는 가정 하에 작성되었습니다.

정규 규칙[원본 편집]

언제 은/는 이/가를 써야 하는지는 아시리라 믿습니다. 찾아바꾸기를 할때는 조사도 자연스럽게 바뀌도록 설정을 넣어야 할 필요가 있습니다. 인벤토리/보관함을 예로 들겠습니다.

찾기 (Find) 바꾸기 (Replace)
인벤토리 보관함
인벤토리란 보관함이란
인벤토리는 보관함은
인벤토리가 보관함이
인벤토리를 보관함을
인벤토리와 보관함과
인벤토리나 보관함이나
인벤토리랑 보관함이랑
인벤토리로 보관함으로

예외 규칙[원본 편집]

ㄹ로 끝나는 글자는 예외 규칙이 있습니다. 계란/달걀을 예로 들겠습니다

찾기 (Find) 바꾸기 (Replace) 비고
계란 달걀
계란은 달걀은 변화 없음
계란이 달걀이 변화 없음
계란으로 달걀로 으로 -> 로
계란으로도 달걀로도 으로 -> 로

조사 으로/로만이 예외 규칙이 있습니다. 으로도/로도 같은 조사는 으로/로와 같은 것으로 취급합니다. 으로/로만 수정하면 자동으로 바로잡히기 때문입니다.

위키 링크 처리[원본 편집]

위처럼 단어만 갖고 찾아바꾸기를 하면 위키 링크가 붙은 단어의 조사는 처리되지 않습니다. 따라서 해당하는 찾아바꾸기 쌍을 추가할 필요가 있습니다.

찾기 (Find) 바꾸기 (Replace)
인벤토리 보관함
인벤토리란 보관함이란
인벤토리는 보관함은
인벤토리가 보관함이
인벤토리를 보관함을
인벤토리와 보관함과
인벤토리나 보관함이나
인벤토리랑 보관함이랑
인벤토리로 보관함으로
[[인벤토리]]란 [[보관함]]이란
[[인벤토리]]는 [[보관함]]은
[[인벤토리]]가 [[보관함]]이
[[인벤토리]]를 [[보관함]]을
[[인벤토리]]와 [[보관함]]과
[[인벤토리]]나 [[보관함]]이나
[[인벤토리]]랑 [[보관함]]이랑
[[인벤토리]]로 [[보관함]]으로


이 예시에 사용된 오토위키브라우저 설정 파일은 여기에서 다운로드 받을 수 있습니다. 이 파일을 적당히 수정한 후, File->Open Settings로 불러 들이면 사용하실 수 있습니다. (단, 확장자는 .xml로 바꿔야 합니다.)

이상과 같은 처리가 끝나면, 조사와 관계없는 부분만 남아 있게 됩니다. 예를 들어 조사가 붙지 않은 == 인벤토리 ==는 변환이 안된 상태입니다. 마지막으로 조사 없이 "인벤토리"를 "보관함"으로 한번 더 처리를 해주면 완료됩니다.

설정 파일 생성[원본 편집]

이제 저 많은 걸 직접 입력한다고 생각해봅시다. 이 얼마나 끔찍하고 무시무시한 생각입니까? 이를 위해 엑셀로 작성된 설정 파일 생성기가 있습니다. 다운로드

사용법은 엑셀 파일에 포함되어 있습니다. 생성기로 XML 파일을 만든 다음 오토위키브라우저에서 설정을 불러오면 됩니다.

정규 표현식[원본 편집]

이제 모든 경우의 수에 맞게 찾아바꾸기 옵션을 하나 하나 추가하는 것도 질릴 겁니다. 다행히도 우리에겐 정규 표현식(Regular expression)이란 게 있습니다.

'정규'표현식은 형식 문법론에서 '정규' 언어를 기술하는 '정규' 문법이기 때문에 '정규'표현식이라는 이름이 붙었습니다. 학자들은 정말 이름 짓기를 못합니다 '촘스키 위계'에서 정규 문법은 '유한 상태 오토마타'에 대응하는데, 쉽게 설명하면 정규표현식은 '유한 상태 오토마타'를 프로그래밍 하는 언어이고, '유한 상태 오토마타는' 기능이(혹은 이 기능을 프로그래밍 하는 언어가) 제약된 컴퓨터 비슷한 물건입니다. 컴공과에서 고오급 과목(예: 컴파일러)까지 수강하고 졸업할 거 아니면 자세히 알 필요는 없습니다.

기호[원본 편집]

예시를 하나 들어 설명하겠습니다.

  • 찾기
   (?<=\[\[)[A-Za-z0-9가-힣() ]+/ko\|
  • 바꾸기
    

여기서 기호가 아닌 실제 문구에 해당하는 건 /ko| 뿐입니다. TODO: 문자열 그룹, 앞서보기(lookahead), 뒤서보기(lookbehind), 앞서보기/뒤서보기 작성할 때 앞과 뒤의 의미 확실하게

주의 사항[원본 편집]

  • 오토위키브라우저는 반자동입니다. 수정 사항을 diff로 보든 preview로 보든 직접 점검한 다음에 Save를 눌러주세요. 점검 중 이상한 부분이 발견되면 언제든지 안전하게 Stop을 누를 수 있습니다.
  • 편집을 저장하는 데에는 속도 제한이 있습니다. 변동 사항을 점검하고 Save를 누르는 습관하에서는 문제가 되지 않는 것 같습니다.
  • 변동 사항이 명백하고 수정할 문서가 매우 많아(200건 이상?) 일일히 Save를 누르다간 날 새겠다, 할 때에는 위키 공용의 봇 계정이 있습니다. 고급 매뉴얼을 참고해 주세요. 단, 큰 힘에는 큰 책임이 따릅니다.

같이 보기[원본 편집]