본문으로 이동

Pywikipediabot 사용법/윈도우

위키책, 위키책

설치법

[+/-]
주의 : 윈도우즈 XP, python 언어를 위주로 설명하였습니다..


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

봇 도움말 목록

[+/-]

주석

[+/-]


참고 항목

[+/-]
영어 위키백과에서 봇을 이용하려면, 반드시 이 문서에 자신의 봇 이름을 추가해야만 접속이 된다.
따로 봇 사용허가가 없이 그냥 등록하는 경우라면 without flag, 즉 비공식적인 봇 명단에 추가하면 된다.