사용자: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"로 고칠 것이다.