Pywikipediabot 사용법/윈도우
설치법
+/-
1. 언어 컴파일러를 다운받는다.
+/-- [1] : 여기에 가면 python 프로그램을 다운받을 수 있다. 설치는 매우 간단합니다. 그냥 실행만 시키면 설치된다.
- 제어판-시스템-고급-환경변수(윈도우 비스타및 7의 경우 제어판-시스템-고급 시스템 설정-(UAC사용시 관리자 권환 획득)-고급-환경변수)에서 PATH=.... 이렇게 된 부분이 나오는데, 여기 끝에다가, ;c:\python25를 추가합니다.
- (python 설치 경로가 c:python25가 아니라면 그 경로 입력 ex) ;d:\python25나 ;e:\python27)
2. SVN을 설치하고 봇 설정파일을 다운로드한다.
+/-윈도우즈용으로는 TortoiseSVN 에서 다운받아 설치할 수 있습니다.
아무곳에서나, 봇 소스를 다운로드하기 위한 새 폴더를 하나 생성한 후, 그 안에 들어가서, 마우스 오른쪽 버튼을 눌러 SVN Checkout...을 클릭하여, URL of Repository에 다음을 입력합니다.
http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/
위 주소에 들어가 보려면 클릭
3. 봇을 설정한다.
+/-- 봇 설정이 필요한데, 봇 소스가 설치된 디렉토리 pywikipediabot 에 들어가 보면, 많은 .py 확장자 파일이 있다. 거기에 추가로 user-config.py 파일을 만든다.
user-config.py의 내용
+/-- mylang='ko'
- usernames['wikipedia']['en']='Wybot'
- usernames['wikipedia']['ko']='Wybot'
- (ko 말고 en도 되고 기타 여러 언어 설정가능. 단, 웹상의 위키백과 언어 설정과 동일해야 한다.)
- (wikipedia 대신 다른 것도 가능하다. 뒤에 것은 어느나라 위키백과냐는 거고, en=미국, ko=한국 위키백과다. 그 뒤에는 그 서버에 등록된 아이디를 넣으면 된다. 복수설정도 가능하다. 봇용 계정을 따로 만드는계 통례이며, 보통은 그 이름이 XXXXbot 이런식으로 쓴다.)
이부분은 로그인할 봇을 지정하는 부분입니다.
Commons 사용시
+/-- mylang='commons'
- family='commons'
- usernames['commons']['commons']='Wybot'
4. 봇을 실행한다.
+/-- 실행창에서 cmd를 치면, 도스의 텍스트창이 나온다. 거기서 봇을 실행해야 한다. (아직 GUI버전은 나오지 않은 것 같음)
- login.py를 입력하면, 접속이 시작된다. 암호를 입력하면 이제 봇이 위키백과에 접속된 거다.
- 봇은 여러개의 개별파일로 되어 있으며, 각각의 .py파일이 각각의 역할을 하는 로봇이다.
한글사용문제
+/-- 1. user-config.py에서 'console-encoding'부분을 UTF-8에서 CP949로 고쳐보세요. 이렇게 하면 아무 변수 없이 interwiki.py 만 단순히 실행시켰을 때 여기서 한글을 입력하면 잘 됩니다.
console-encoding = 'cp949'
- 2. 만약에 -start나 그 외의 변수를 입력해야 할 경우가 있죠. 예를 들어 '택시'문서 부터 작업을 시작할 때 '택시'라고 입력하지 마시고, 퍼센트 인코딩을 사용하여 %ED%83%9D%EC%8B%9C로 입력해야 합니다. 그래서 저는 명령 프롬포트상에서 입력하지 않고, 실행창에서 아래와 같이 명령어를 다 넣어서 작업하면 편리합니다.
예제
c:\pywikipedia\interwiki.py -start %ED%83%9D%EC%8B%9C
- 3. cmd.exe에 /U 옵션을 붙여서 실행합니다.
cmd.exe /U
- 4. cmd 창의 속성에서 글꼴을 굴림체로 바꿉니다.
- 5. 그러면 다음과 같이 cmd 창에 깨지지 않고 한글 출력이 됩니다.
[[스모그]]: [[en:Smog]] gives new interwiki [[zh:光化?烟?]] [[스모그]]: [[en:Smog]] gives new interwiki [[pt:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[gl:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[hu:Szmog]] [[스모그]]: [[en:Smog]] gives new interwiki [[cs:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[he:'rphykh]]*** [[스모그]]: [[en:Smog]] gives new interwiki [[pl:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[es:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[ja:スモッグ]] [[스모그]]: [[en:Smog]] gives new interwiki [[nl:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[sv:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[fr:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[ms:Asbut]] [[스모그]]: [[en:Smog]] gives new interwiki [[de:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[it:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[oc:Esmog]]*** [[스모그]]: [[en:Smog]] gives new interwiki [[da:Smog]] [[스모그]]: [[en:Smog]] gives new interwiki [[ru:Смог]] [[스몰렌스크]]: [[en:Smolensk]] gives new interwiki [[bg:Смоленск]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[ar:smwlfyl]]*** [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[th:???????????]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[pt:Smallville (s erie)]]*** [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[fi:Smallville]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[sq:Smallville]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[hr:Smallville]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[hu:Smallville]] [[스몰빌]]: [[en:Smallville (TV series)]] gives new interwiki [[sr:Смолви л (ТВ сериjа)]]***
우분투에서 봇 사용하기
+/-리눅스는 UTF-8을 사용하므로, 인코딩이 깨지는 일 없이 한국어 위키미디어에 봇을 돌릴 수 있습니다/.
우분투에 봇 설치하기
+/-매우 간단합니다.
터미널을 엽니다.
me@desktop:~$ cd ~ me@desktop:~$ sudo apt-get install python Password: root 계정 암호입력하시고... 꾸러미 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 Reading state information... 완료 python 꾸러미는 이미 최신 버전입니다. 0개 업그레이드, 0개 새로 설치, 0개 지우기 및 0개 업그레이드 안 함. me@desktop:~$
간단하죠? 이렇게 python 설치가 끝났습니다.
그럼 이제 python 언어를 깔았으니까, python 언어용 bot 프로그램을 설치해야죠?
me@desktop:~$ cd ~ me@desktop:~$ sudo apt-get install subversion Password: root 계정 암호입력하시고...
엥? 또 같단하죠? 이게 바로 SVN 설치랍니다. 너무 간단했나? ㅎㅎ
그러니까, python 언어용 bot 프로그램을 자동으로 설치하고 업그레이드 시켜주는 프로그램이죠.
이제 마지막으로 python 언어용 bot 프로그램을 설치합니다.
me@desktop:~$ cd ~ me@desktop:~$ svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia pywikipedia
너무 간단했나요? ㅋㅋ 이게 봇 설치 완료입니다. 아이고 쉬워라!! ^^
우분투에 봇 설정하고 실행하기
+/-그런데, 간단한 좀 작업을 더 해줘야 봇이 제대로 작동합니다.
me@desktop:~$ cd ~ me@desktop:~$ mkdir Wybot me@desktop:~$ cd Wybot me@desktop:~$ ln -s ~/pywikipedia/families me@desktop:~$ ln -s ~/pywikipedia/userinterfaces
이렇게 명령어를 입력합니다. 제 봇 이름이 Wybot 입니다. 그 부분은 자신의 봇 이름으로 고쳐주시구요.
그 다음에는 위에 윈도우 XP 용으로 설명할 때 언급한, user-config.py 파일을 만들어 주면 됩니다.
me@desktop:~$ cd ~/pywikipedia me@desktop:~/pywikipedia$ gedit user-config.py
그럼 윈도우즈 XP 에서의 메모장과 똑같은 gedit가 뜹니다. 우분투용 메모장이 gedit입니다.
mylang='ko' usernames['wikipedia']['en']='Wybot' usernames['wikipedia']['es']='Wybot' usernames['wikipedia']['de']='Wybot' usernames['wikipedia']['fr']='Wybot' usernames['wikipedia']['it']='Wybot' usernames['wikipedia']['ja']='Wybot' usernames['wikipedia']['ko']='Wybot' usernames['wikipedia']['nl']='Wybot' usernames['wikipedia']['pl']='Wybot' usernames['wikipedia']['pt']='Wybot' usernames['wikipedia']['ru']='Wybot' usernames['wikipedia']['zh']='Wybot' console_encoding = 'utf-8'
저는 이렇게 해줬구요. 그러니까 각 언어판에 Wybot으로 가입이 되어 있어야 합니다.
만약, 봇용 계정을 만들어 놓은 곳이 한국어판 뿐이라면, 아래와 같겠죠.
mylang='ko' usernames['wikipedia']['ko']='Wybot' console_encoding = 'utf-8'
이제 설정이 모두 끝났습니다. 실행만 남았군요. 일단 로그인 부터 해야죠?
me@desktop:~$ cd ~/Wybot me@desktop:~/Wybot$ python ~/pywikipedia/login.py
이렇게 하면 이제 로그인이 됩니다. 왜 항상 ~/Wybot 디렉토리로 가서 저렇게 복잡하게 실행해줘야 하는가? 그걸 제가 알면 프로그래머 했죠. ^^
저는 다른 언어판도 동시에 봇이 수정할 수 있도록 전부 로그인을 합니다.
me@desktop:~$ cd ~/Wybot me@desktop:~/Wybot$ python ~/pywikipedia/login.py -all
로그인 되셨다구요?
그럼 인터위키 봇을 돌리시면 됩니다.
me@desktop:~$ cd ~/Wybot me@desktop:~/Wybot$ python ~/pywikipedia/interwiki.py -start:가나다라 -autonomous
아~ 정말 잘돌아갑니다. 으히히~
me@desktop:~$ cd ~/Wybot me@desktop:~/Wybot$ python ~/pywikipedia/welcome.py
우와...윈도우 XP에서는 계속 에러나던 welcome.py 봇도 정말 잘 돌아갑니다. wikipedia:ko:사용자:풀빵님이 수정하신 건데, 제가 원본 프로그램을 어디다 업로드 해 놓겠습니다. 웰컴봇은 간단한 봇이죠. 새 사용자 토론란에 환영합니다 틀을 자동으로 붙여주는 봇이에요. 인사용 봇입니다.
아, 봇 프로그램이 매일 업데이트 됩니다. 매일 시작하기 전에 아래를 실행해 주세요. 자동 업데이트 기능입니다.
me@desktop:~$ cd ~/pywikipedia me@desktop:~/pywikipedia$ svn update
사용예제
+/-- python interwiki.py -warnfile:warnfile_en.log
- python interwiki.py -askhints -file:XX
- login.py -all (user-config.py에 설정된 모든 사이트에 접속)
- login.py -sysop (관리자로 접속)
- login.py -help (도움말 출력. 다른 .py 프로그램은 도움말이 없는 경우도 있음.)
- python xmltext.py sax_parse_bug.dat
- python interwiki.py -autonomous -years
- python interwiki.py -autonomous -years:-500
- python interwiki.py -file:autonomous.dat
- python interwiki.py -warnfile:english_treelang.log
- python warnfile.py english_treelang.log
- python splitwarning.py
- authority.py "Loxia pytyopsittacus" "Borkhausen, 1793"
- python replace.py -xml -regex "{{msg:(.*?)}}" "{{\1}}"
- python replace.py -xml:foobar.xml "Errror" "Error"
- python replace.py -page:John_Doe -fix:HTML
- python replace.py -file:articles_list.txt "errror" "error"
- python solve_disambiguation.py -just -pos:New_Name Old_Name
- python standardize_notes.py -page:Somepage
- touch.py -start:!
- patch family.py family.py.diff
- cp wikipedia_family.py linuxguiden_family.py
- patch linuxguiden_family.py linuxguiden_family.py.diff
- python login.py
- python test.py
- python editarticle.py -e vim -p artikkel
- python editarticle.py --help
- python category.py
- python catall.py artikkel
한 번에 암호 다 입력하기
+/-login.py -all -pass
봇 도움말 목록
+/-- s:User:WonRyong/Bot Howto - 총체적인 봇 노하우를 공유하는 문서
- s:User:WonRyong/login.py - 최초에 로그인 할 때 딱 한번만 실행
- s:User:WonRyong/interwiki.py - 봇의 대표인 인터위키봇에 대한 설명
- s:User:WonRyong/replace.py - 종종 쓰는 치환봇
- s:User:WonRyong/category.py - 하위분류의 문서까지 모두 목록으로 출력하는 봇
- s:User:WonRyong/speedy_delete.py - 빠른 삭제를 자동으로 처리하는 봇이다. 관리자 계정 필요
- s:User:WonRyong/unusedfiles.py - 전혀 안 쓰이는 그림, 동영상 기타 파일들의 설명란과 올린 사용자의 토론란에 자동으로 어떤 메시지를 보내는 봇이다.
- 사용자:WonRyong/welcome.py 도움말 - 신규 사용자 페이지에 틀:환영을 자동으로 붙여주는 봇
- s:User:WonRyong/upload.py
- python upload.py -lang:commons -wiki:en Image.png
- enwiki의 그림인 Image.png를 commons에 올림.
- s:User:WonRyong/check_extern.py
- s:User:WonRyong/redirect.py
- s:User:WonRyong/solve_disambiguation.py
- s:User:WonRyong/table2wiki.py
- s:User:WonRyong/brackethttp.py
- s:User:WonRyong/catall.py
- s:User:WonRyong/copy_table.py
- s:User:WonRyong/editarticle.py
- s:User:WonRyong/find.py
- s:User:WonRyong/getimages.py
- s:User:WonRyong/imageharvest.py
- s:User:WonRyong/imagetransfer.py
- s:User:WonRyong/pagelist.py
- s:User:WonRyong/saveHTML.py
- s:User:WonRyong/standardize_interwiki.py
- s:User:WonRyong/standardize_notes.py
- s:User:WonRyong/touch.py
- s:User:WonRyong/us-states.py
- s:User:WonRyong/warnfile.py
- s:User:WonRyong/extract_names.py
- s:User:WonRyong/extract_wikilinks.py
- s:User:WonRyong/splitwarning.py
- s:User:WonRyong/sqldump.py
- s:User:WonRyong/template.py
- s:User:WonRyong/test.py
- s:User:WonRyong/xmltest.py
주석
+/-
참고 항목
+/-- m:Using the python wikipediabot : 영어 사용법
- w:en:Wikipedia:Bots : 영어 위키백과의 봇 목록
- 영어 위키백과에서 봇을 이용하려면, 반드시 이 문서에 자신의 봇 이름을 추가해야만 접속이 된다.
- 따로 봇 사용허가가 없이 그냥 등록하는 경우라면 without flag, 즉 비공식적인 봇 명단에 추가하면 된다.