사용자:WonYong/봇 사용법

위키백과 ― 우리 모두의 백과사전.

위키백과 봇의 매우 자세한 사용법에 대해 작성중입니다. 임시문서이나, 다른 사용자들도 내용을 추가 보충해주셔도 물론 환영합니다. 제가 쓰는 봇은 Wybot입니다.

이 문서는 Python 봇에 대한 설치 및 사용방법에 대한 문서이다.

목차

[편집] 설치법

주의 : 윈도우즈 XP, python 언어를 위주로 설명함.


[편집] 1. 언어 컴파일러를 다운받는다.

[1] : 여기에 가면 python 프로그램을 다운받을 수 있다. 설치는 매우 간단함. 그냥 실행만 시키면 설치된다.
제어판-시스템-고급-환경변수에서 PATH=.... 이렇게 된 부분이 나오는데, 여기 끝에다가, ;c:\python25를 추가한다.

[편집] 2. 봇 소스 프로그램을 다운받는다.

[2] 여기가면 python bot을 다운받을 수 있다. 역시 매우 간단하다.

[편집] 3. CVS를 설치한다.

CVS를 설치하면 자주 올라오는 다음버전의 소스들을 자동으로 업그레이드 할 수 있다. (옵션사항임)

윈도우즈용 CVS는 TortoiseCVS를 설치한다. 그러니까, 2번의 봇 소스를 받지 않고, 3번의 CVS를 받고 아래 그림처럼 설정하면...자동으로 받는다. 업뎃도 자동으로 다 해준다. 이게 훨씬 사용하기 편하다. 처음에 설정하는데 에러가 약간 나지만, 몇번 하면 익숙해짐.
TortoiseCVS 설정화면

[편집] TortoiseCVS 완벽설치법 (최신)

  • 0. TortoiseCVS를 설치한다.
  • 1. 폴더 만들필요없다.
  • 2. C:\Program Files\ 폴더를 연다.
  • 3. 마우스 오른쪽 버튼 누른다.
  • 4. 메뉴 중에서 CVS Checkout 을 클릭한다.
  • 5. http://sourceforge.net/cvs/?group_id=93107 을 참고한다. 위에 그림에서 주소가 바뀌었다. 즉, sever 부분에 cvs.sourceforge.net 에서 pywikipediabot.cvs.sourceforge.net 로 바뀌었다.
    • Protocol: Password server (:pserver:)
    • Server: pywikipediabot.cvs.sourceforge.net
    • Repository folder: /cvsroot/pywikipediabot
    • User name: anonymous
    • Module: pywikipedia
  • 6. 그러면 모듈명인 pywikipedia 폴더에 소스 프로그램이 설치된다. 즉 C:\Program Files\pywikipedia 폴더가 생성되면서, 자동으로 최신 소스 파일들이 계속 갱시된다.
  • 7. 다음부터는 C:\Program Files\pywikipedia 폴더에 들어가서, 마우스 오른쪽 버튼 클릭, CVS Update를 클릭하면, 자동으로 최신 파일들로 모두 갱신된다.

[편집] TortoiseCVS 완벽설치법(옛버전)

1. CVS만 잘 설치하면, 최신 버전 자동으로 받는 것이 손쉬워진다.

2. 보통, 소스프로그램을 제공하는 곳에는 CVS 링크가 보인다. 거기를 들어간다. 여기 에도 CVS가 보인다. 클릭한다.

3. Browse CVS Repository(CVS 저장소) 뭐 이런 링크가 있다. CVS 디렉토리를 보여주는 곳인데, 역시 들어가서 좀 살펴본다. http://pywikipediabot.cvs.sourceforge.net/pywikipediabot/ 여기가 바로 CVS 파일 목록이다. Index of 라고 나온다.

4. 여기서 프로젝트 이름은 뭘까? pywikipediabot 이다. 최상위 이름이 프로젝트 이름이다. 저장소 폴더 (Repository Folder)에는 보통 /cvsroot/프로젝트 이름이렇게 들어간다. /cvsroot가 아닌 경우는 아직 본 적 없다. 그러나 확인해보고 시험해 보면 된다. 보통은 /cvsroot/프로젝트 이름로 사용한다.

5. 여기서 모듈 이름은 뭘까? 최상위 다음의 차상위 디렉토리 이름이다. http://pywikipediabot.cvs.sourceforge.net/pywikipediabot/ 여기에서는 다음과 같이 최상위 디렉토리들이 보인다. 이게 다 각각의 모듈 이름이다.

Neuer Ordner/
Python2/
Pywikipedia/
Pywikipedia-2/
pywikipediabot/
robot2/
tcl/

클릭해보면, 디렉토리들 다 엉성하고, Pywikipedia/ 이게 알짜다. 그러니 모듈이름은 Pywikipedia 로 적어줘야 한다.

6. 모듈이 뭐가 있는지 모르겠다? 그럼 목록 가져오기(Fetch List)를 클릭하면 자동으로 모듈을 전부 목록으로 불러들인다. 이제 그 중 하나 선택만 하면 된다.

7. c:/이나 뭐 어디에, 새폴더를 만들고서 안으로 들어간다. 그리고 마우스 오른쪽을 클릭하면 CVS Checkout 이 보인다. 그거 클릭하면 위의 그림과 같이 뜬다. 거기에 입력을 해주면 된다.

[편집] 다른 예제

1. 이제 다른 CVS도 한 번 설치해보자.

2. 예제는 위키백과 봇의 다른 버전인 dotnetwikibot 이다. 닷넷 프레임워크 2.0을 사용하는 C#으로 작성된 봇이다. 필요한 구성요소는 다음과 같다:

1) 닷넷 프레임워크 2.0 설치. 마이크로소프트사 다운로드 페이지에서 다운받아 설치.
2) C# 컴파일러 설치. (모노 프로젝트의 monowin32(프로젝트 이름)이 유명하다. 역시 공짜다. 오픈소스다.)
3) dotnetwikibot 프로그램 설치. http://sourceforge.net/projects/dotnetwikibot

여기서 2) monowin32 와 3) dotnetwikibot 는 CVS로 제공하고 있다.

3. 이번 예제에서는 설치가 간단한 dotnetwikibot만 설치해보자.

1) 새폴더 아무데나 만든다.
2) 마우스 오른쪽 클릭, CVS Checkout 클릭
3) 프로토콜 = :pserver
4) 서버 = dotnetwikibot.cvs.sourceforge.net
5) 저장소 폴더 (Repository Folder) = /cvsroot/dotnetwikibot
6) 사용자 이름 = anonymous
7) 모듈 = framework
8) 확인 클릭.

4. 어떻게 이것을 알았는가? http://sourceforge.net/projects/dotnetwikibot 에 가서 CVS를 클릭하면 http://sourceforge.net/cvs/?group_id=167838 로 연결된다. 여기에 설명이 있다.

5. 내친김에 monowin32 CVS도 설치해보자. http://forge.novell.com/modules/xfmod/project/?monowin32

1) 새폴더 아무데나 만든다.
2) 마우스 오른쪽 클릭, CVS Checkout 클릭
3) 프로토콜 = :ext
4) 서버 = forgecvs1.novell.com
5) 저장소 폴더 (Repository Folder) = /cvsroot/monowin32
6) 사용자 이름 = anonymous
7) 모듈 = 모르겠다. 세 가지가 있는데 어떤게 메인 모듈인지 모르겠음. 모르면 셋 다 설치해도 될 거다. ㅎㅎ
8) 확인 클릭.
9) 어라? 암호를 묻는다. 떨지말자. 저기 사이트의 CVS 접속법 설명란에, 암호물어오면 anonymous 라고 한 번 더 쳐주라더라. 설치 무지 잘된다. 오~

그러나, monowin32는 CVS 설치가 과연 필요한지 모르겠다. 그냥 여기서 런타임 인스톨러 설치하면 간단히 끝나는 걸로 보인다.

[편집] 4. 봇을 설정한다.

봇 설정이 필요한데, 봇 소스가 설치된 디렉토리 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'

[편집] 5. 봇을 실행한다.

실행창에서 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   

-- 파란로봇군 2006년 9월 11일 (화) 19:06 (KST)

  • 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а)]]***

[편집] 파이썬에서의 한글사용

[편집] cmd.exe에서의 한글사용

  • 윈도XP의 ftp클라이언트로 utf-8 서버접속 utf-8로 운영되는 리눅스 서버상에서 사용되는 한글파일명의 파일들은 그대로 윈도XP로 다운로드 받게되면 파일명이 제대로 나타나지 않으며 심한경우는 아예 삭제 조차도 안되는 상황까지 발생한다. 또 윈도XP ftp클라언트로 서버를 접속하면 한글 파일명을 알아 볼 수가 없다. 그래서 필요한 것이 utf-8을 지원하는 ftp 클라이언트이다. 그중에 배우기가 utf-8지원 ftp를 발견(최근 아닌 2005년 여름) 한 것은 소스포지( http://sourceforge.net/projects/filezilla )의 파일질라(Fillezilla)이다. 그러나 이러한 GUI용 ftp 클라이언트가 없이도 윈도XP의 ftp 클라이언트로 충분히 가능하다는 것을 알게 되었다.
  • 일반적으로 실행상자에서 커맨드 셸상자를 띄울 경우 cmd라고만 입력하지만, 일단 cmd /U로 실행한 후에 콘솔(console)의 코드 페이지를 변경한다. 이명령은 chcp로 가능하다. 단순히 기본값 949를 유니코드(65001)로 변경하면 된다. 따라서 chcp 65001로 변경하면 된다. 그러나 이보다 먼저 적절한 폰트를 설정해야 하는데, 일단 chcp 65001을 명령하기 전에 커맨드 셸의 속성창을 띄우고 굴림체로 선택을 해준다음에 코드 페이지를 변경해야 한다.
  • 이제 utf-8 서버로 접속을 하면 한글 파일이 정상적으로 보이고, 다운로드 후에도 역시 정상적인 한글파일명을 유지한다.
  • 테스트결과 아쉬운 점은 정상적으로 보이긴 하나 화면상 일부 파일 이름이 제대로 출력되지 않는다. 이럴경우 커맨드 셸 상자의 사이즈를 살짝 재조정하면 정상적으로 보이게 된다. - 화면 처리에서 윈도XP 버그가 있어 보임![1]

[편집] 사용예제

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

[편집] 봇의 종류

[편집] 주요 봇

  • 사용자:WonYong/category.py
    • category.py add
      • 목록에 있는 문서들에 하나의 카테고리 일괄 추가하기
    • category.py emove
      • 한 카테고리에 있는 모든 페이지에서 그 카테고리 삭제하기
    • category.py move
      • 옛 분류를 새 분류로 옮기기
    • category.py tidy
      • tidy up a category by moving its articles into subcategories
    • category.py tree
      • 하위 분류까지 전부 보여주기
    • category.py listify
      • 한 카테고리에 있는 문서로 목록만들기
  • 사용자:WonYong/interwiki.py
  • 사용자:WonYong/replace.py

[편집] 보조 봇

  • speedy_delete.py
    • 빠른 삭제를 자동으로 처리하는 봇이다.
  • unusedfiles.py
    • 전혀 안 쓰이는 그림, 동영상 기타 파일들의 설명란과 올린 사용자의 토론란에 자동으로 어떤 메시지를 보내는 봇이다.
  • welcome.py
  • upload.py
    • python upload.py -lang:commons -wiki:en Image.png
    • enwiki의 그림인 Image.png를 commons에 올림.

[편집] 기타 봇

  • check_extern.py
  • redirect.py
  • solve_disambiguation.py
  • table2wiki.py
  • brackethttp.py
  • catall.py
  • copy_table.py
  • editarticle.py
  • find.py
  • getimages.py
  • imageharvest.py
  • imagetransfer.py
  • pagelist.py
  • saveHTML.py
  • standardize_interwiki.py
  • standardize_notes.py
  • touch.py
  • us-states.py
  • warnfile.py
  • extract_names.py
  • extract_wikilinks.py
  • login.py
  • splitwarning.py
  • sqldump.py
  • template.py
  • test.py
  • xmltest.py

[편집] 봇 목록

한국어 위키백과에서 사용중인 봇 목록

[편집] 등록된 봇

[편집] 미등록된 봇

봇 계정 활동 사용자 계정 비고
사용자:Palica 기여 sk:Redaktor:Palica
사용자:RCBot 기여 commons:User:Richie
사용자:Wybot 기여 사용자:멀뚱이
사용자:Afkbot 기여 사용자:Alpha for knowledge
사용자:Perebot 기여 사용자:Peremen
사용자:GrassnBreadBot 기여 사용자:풀빵

[편집] 기타 노하우

다음의 문장들을 윈도우즈 바탕화면에 텍스트 파일로 만들어놓고, 필요할 때 복사해다가 cmd 창에 붙여넣기 하면 유용합니다.

가
interwiki.py -start:%EA%B0%80 -autonomous
나
interwiki.py -start:%EB%82%98 -autonomous
다
interwiki.py -start:%EB%8B%A4 -autonomous
라
interwiki.py -start:%EB%9D%BC -autonomous
마
interwiki.py -start:%EB%A7%88 -autonomous
바
interwiki.py -start:%EB%B0%94 -autonomous
사
interwiki.py -start:%EC%82%AC -autonomous
아
interwiki.py -start:%EC%95%84 -autonomous
자
interwiki.py -start:%EC%9E%90 -autonomous
차
interwiki.py -start:%EC%B0%A8 -autonomous
카
interwiki.py -start:%EC%B9%B4 -autonomous
타
interwiki.py -start:%ED%83%80 -autonomous
파
interwiki.py -start:%ED%8C%8C -autonomous
하
interwiki.py -start:%ED%95%98 -autonomous
틀:
interwiki.py -start:%ED%8B%80: -autonomous
사용자:
interwiki.py -start:%EC%82%AC%EC%9A%A9%EC%9E%90: -autonomous
위키백과:
interwiki.py -start:%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC: -autonomous
분류:
interwiki.py -start:%EB%B6%84%EB%A5%98: -autonomous

[편집] 기타 노하우 #2

Wybot의 user-config.py 파일의 내용은 다음과 같다:

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 = 'cp949'

login.py -all 명령어를 사용하여, 모든 곳에 동시 로그인이 가능하다.

[편집] 기타 노하우 #3

단축 아이콘 만들기

1. 윈도우즈 XP에서 단축 아이콘(바로 가기) 만들기이다.
2. 바탕화면에서 마우스 오른쪽 버튼 클릭
3. 새로만들기 -> 바로 가기
4. 바탕화면에 생긴 바로 가기에 적당한 이름 지워준다.
5. 만들어진 단축 아이콘에 마우스 오른쪽 버튼, 속성 클릭
6. 바로 가기 항목에서 대상 = %windir%\system32\cmd.exe /U
7. 시작 위치 = 봇이 설치된 폴더 (예를들면, C:/pywikipedia)
8. 확인 클릭

[편집] 기타 노하우 #5

소스 프로그램 에디터는 Vim을 추천함. 유닉스의 vi 에디터를 MS 윈도우즈용으로 바꾼 것으로, 공개 소프트웨어임. http://www.vim.org/

[편집] 기타 노하우 #6

쉽게 인터위키 하는 방법. 내가 자주 쓰는 방법.

user-config.py에 등록해 놓은 모든 언어판 위키피디아에 동시에 모두 로그인 하기
login.py -all


위키백과의 틀: 으로 시작하는 문서들 인터위키 하기
interwiki.py -start:%ED%8B%80: -autonomous


작업 중단하기
ctrl+c




컴퓨터 다시 켜고 중단된 작업부터 시작하는 법


user-config.py에 등록해 놓은 모든 언어판 위키피디아에 동시에 모두 로그인 하기
한번 암호를 입력하면, 다음 번 부터는 암호 더 물어보지 않는다.
login.py -all


중단된 지점부터 알파벳 순서로 다시 인터위키 시작하기
interwiki.py -continue -autonomous

[편집] get.py

  • get.py 위키백과 | grep 위키 > results.txt
    • 이렇게 하면 위키백과 문서를 다운받아서 그 중 위키라는 단어가 들어간 문단만 파일에 저장된다고 한다. 그러나 에러나던데?
  • get.py 위키백과 | findstr 위키백과 > results.txt
    • 이렇게 하면 된단다. 리눅스에서 grep은 윈도우즈 XP에서는 findstr이라고 한다. 그래도 에러나던데?
  • get.py %EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC | findstr 위키 > results.txt
    • 아, 처음에 위키백과 부분은 유니코드가 어쩌고 해서 바로 써주면 안된단다. 옆에 찾기란에 "위키백과"라고 친다. 그럼 http://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC 라고 나온다. 앞부분의 http://ko.wikipedia.org/wiki/ 를 잘라낸다. 그럼 "위키백과"에 해당하는 유니코드 부분은 %EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC 가 된다. 그걸 복사해다가 쓴다. 아이고 복잡해!! ㅜㅜ 뒤에 findstr 위키 부분은 그대로 한글 쳐주면 된다. 아이고 더 복잡해!!! ㅜㅜㅜ 그런데? 결과를 보니까...에러없이 잘 된다. ㅎㅎ

[편집] delete.py

  • 관리자 계정이 필요합니다.
  • 특정 분류에 들어있는 모든 문서를 전부 다 삭제해 버립니다.
  • 그러니까, 삭제검토가 끝났거나 해서 문서를 삭제할 필요가 있을 때, 일반 사용자들은 틀:삭제대기틀을 붙여주고, 그러면 자동으로 분류:삭제대기 에 문서가 등록됩니다. 그럼 관리자는 매일 한 번씩 delete.py 를 실행시켜 주면, 삭제해야 할 문서들이 싹 다 자동으로 삭제되죠.

[편집] 우분투에서 봇 사용하기

저는 윈도우 XP 말고 우분투 7.04 버전도 같이 씁니다.

위키피디아에 봇을 돌리는데는 윈도우 XP 보다 우분투가 훨씬 좋습니다. 정말 좋아요.

한글이 전혀 안 깨집니다. 전혀!! NEVER!!!

윈도우 XP 만 쓰신다구요? 그럼 우분투 공식 홈페이지에 가셔서, CD 한장 보내달라고 하세요. 네덜란드인가 덴마크에서 택배로 무료 씨디가 날아옵니다. 그걸로 바로 설치하면, 윈도우 XP 랑 우분투랑 같이 사용할 수 있죠.

[편집] 우분투에 봇 설치하기

매우 간단합니다.

터미널을 엽니다.

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 봇도 정말 잘 돌아갑니다. 사용자:풀빵님이 수정하신 건데, 제가 원본 프로그램을 어디다 업로드 해 놓겠습니다. 웰컴봇은 간단한 봇이죠. 새 사용자 토론란에 환영합니다 틀을 자동으로 붙여주는 봇이에요. 인사용 봇이죠. ^^

[편집] 주석

  1. http://xpz.winnwe.com/index.php/site/perma/388/

[편집] 참고 항목

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