사용자:WonRyong/replace.py

Replace.py은 Pywikipedia bot 프로그램을 사용하는 봇이다.

이 봇은 원하는 텍스트를 찾아서 원하는 텍스트로 자동교환을 한다.

업데이트

편집

s:사용자:WonRyong/replace.py 여기에서 업데이트가 됩니다. -- WonRyong (토론) 2008년 5월 16일 (금) 08:53 (KST)

옵션

편집

다음과 같은 옵션(파라메타)을 사용할 수 있다:

-xml
지역서버의 XML dump 파일에서 원하는 작업을 한다.(현재 페이지들의 XML dump 파일은 [1]에 있다.) 이렇게 사용하면 된다: -xml:덤프 파일명 아래 예제 1번 참조.
-file
사용자 PC에 있는 외부 텍스트 파일에 있는 모든 페이지들에서 작업을 한다. Will read any [[wiki link]] and use these articles. 이렇게 사용하면 된다: -file:외부 파일명 아래 예제 5번 참조.
-cat
지정한 카테고리(분류)에 있는 모든 문서를 처리한다. 이렇게 사용하면 된다: -cat:분류의 이름
-page
지정한 단 한 개의 페이지만 작업한다. 이렇게 사용하면 된다: -page:pagename 여러 페이지들을 처리하려면 이 명령어를 여러번 입력하면 된다.
-ref
지정해 준 문서를 가리키는 모든 문서들을 작업한다. 이렇게 사용하면 된다: -ref:문서 이름
-start
지정한 문서부터 시작해서, 모든 문서를 처리한다. -start:!라고 입력하면, 모든 문서를 처리한다. 주의: 이 옵션 보다는 -xml 옵션의 사용을 권장한다; this is meant for cases where there is no recent XML dump.
-regex
regular expressions 을 사용하여 교환작업을 한다. 만약 이 옵션이 부여되지 않으면, 봇은 단순한 텍스트 교환 작업만 할 것이다.
-except:XYZ
XYZ를 포함한 문서는 생략한다. -regex 옵션이 같이 사용되었다면, XYZ는 regular expression으로 간주될 것이다.
-fix:XYZ
Perform one of the predefined replacements tasks, which are given in the dictionary 'fixes' defined inside this file. The -regex argument and given replacements will be ignored if you use -fix.
현재 사용 가능한 옵션은 다음과 같다:
  • -fix:HTML: "HTML 태그"를 "위키 문법"으로 고친다. 아래 예제 3번 참조.
-namespace:n
Number of namespace to process.
-always
매 번 고칠 때 마다 사용자에게 묻지 않고, 아무 질문없이 전부 다 고쳐버린다.
기타 argument
첫 argument는 옛 문장이고, 두번째 argument는 새 문장이다. -regex 옵션이 사용되었다면, 첫 argument는 regular expression으로 여겨질 것이다. 그리고 두번째 argument는 \\1 이나 \g 을 포함해야 할 것이다. 아래 예제 5번 참조.

주의사항: -xml, -file, -page는 각각 따로 사용해야 하며, 함께 섞어서 사용하지 말 것.

예제

편집

1. 만약 옛날의 문장에서 틀로 변경하고 싶다면, 예컨대, {{msg:Stub}}를 새로운 문장으로 바꾸고 싶다면, 예컨대 {{Stub}}로 바꾸고 싶다면, 영어판 등은 http://download.wikimedia.org 에서, 한국어 일본어 말레이시아어 태국어 판은 http://download-yaseo.wikimedia.org/ 에서 XML dum file(현재버전)을 다운로드 해서, 다음의 명령어를 입력하라:

   python replace.py -xml -regex "{{msg:(.*?)}}" "{{\1}}"

2. 만약 foobar.xml라는 이름의 덤프 파일을 받았다면, 그리고 Errror -> Error로 텍스트를 자동수정하고 싶다면, 다음과 같이 입력하면 된다:

   python replace.py -xml:foobar.xml "Errror" "Error"

3. 만약 "John Doe" 라는 페이지에서 "HTML 태그"를 "위키 문법"으로 바꾸고 싶다면, 다음과 같이 하면 된다:

   python replace.py -page:John_Doe -fix:HTML

4. 만약 특별한 옵션 부여 없이, 여러번의 문구교환을 하려면, 다음과 같이 하면 된다:

   python replace.py -file:blah.txt

봇은 문서를 수정하기 전에 사용자에게 물어 올 것이다. 이것은 이중 체크를 할 수 있기에 권장된다.

5. articles_list.txt 라는 외부 파일에다가, 사용자는 다음과 같이 위키백과 페이지 목록을 적어서 저장할 수 있다. 물론 파일명은 다른 이름이어도 된다:

 [[plane]]
 [[vehicle]]
 [[train]]
 [[car]]

articles_list.txt이란 이름으로 저장한다. 그리고 봇 명령을 다음과 같이 입력한다:

 python replace.py -file:articles_list.txt "errror" "error"

그러면, 봇은 plane, vehicle, train, car의 문서에서 "errror"라는 문장을 "error"로 고칠 것이다.

더 보기

편집