Pywikibot

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
Pywikibot
발표일 2002년
최신(안정화) 버전 2.0rc5
프로그래밍 언어 파이썬
플랫폼 파이썬, 2.7 버전 혹은 3.3 이상 버전.
라이선스 비자유(Copyrighted)[1]

Pywikibot미디어위키 기반의 위키에서 파이썬(Python) 스크립트를 돌려서 위키 편집을 용이하게 하는 도구이다. 위키미디어 재단에서 공식적으로 봇을 만드는 데 사용하는 도구이며, 이를 이용해서 위키 봇을 만드는 데에도 유용하게 이용할 수 있다. 미디어위키 홈페이지에 사용법이 자세하게 나와 있으며, 파이썬에 대한 지식이 부족해도 설치만 하면 내장된 스크립트를 통해서 위키를 쉽게 편집할 수 있게 도와준다.

설치방법[편집 | 원본 편집]

우선 Pywikibot은 파이썬 기반으로 돌아가는 도구이기에 파이썬을 설치해야 한다. 파이썬 공식 홈페이지 에서 다운로드를 받는다. 다만 윈도우 운영체제의 경우 파이썬을 설치만 해서는 명령 프롬프트(cmd.exe) 창에 python 명령어가 활성하되지 않기에 반드시 제어판- 시스템-왼쪽의 고급 시스템 정보-고급 탭-아래 환경 변수 버튼을 누르고 path 변수를 python 실행파일이 설치된 폴더의 디렉토리를 지정해야 한다.

그 다음에는 Pywikibot 설치 페이지에서 Pywikibot 소스를 다운로드 받는다. python 명령어가 명령 프롬프트에 활성화된 것을 확인하면 명령 프롬프트 창에 아래와 같이 입력해서 로그인이 되는지 확인하면 된다.

> cd "c:\users\username\pywikibot"
> python pwb.py login

user-config.py를 지정하지 않았다면 user-config.py를 지정하라는 메시지가 자동으로 띄운다. 안내창대로 입력하면 된다. 그러나 기본적으로 설정된 위키 이외의 위키에서 사용하려면 이 방법으로는 사용이 안 된다. 따라서 아래에 서드파티 위키에서 사용하는 방법을 안내할 것이다.

사용방법[편집 | 원본 편집]

일단 메인 소스인 pwb.py를 이용해서 실행시킨다. 명령어 구조는 다음과 같다.

python pwb.py (script명) (부가변수명)

각 기본 스크립트의 설명에 대해서는 mw:Pywikibot/Scripts를 참조하자. 참고로 각 스크립트들은 script 폴더에 내장되어 있다. 파이썬에 대한 지식이 부족해도 봇을 쉽게 다룰 수 있다.

서드파티 위키에서 사용하는 방법[편집 | 원본 편집]

우선 pywikibot을 설치한 디렉토리에서 pywikibot/families 디렉토리를 연다. 그 다음에 아래와 같이 패밀리명과 언어명, url 등을 입력해야 한다. 여기서 파일명을 반드시 (위키명)_family.py로 지정해야 한다.

from pywikibot import family        # pywikibot에서 사용하고 있다는 표시                                          
                                                                                
class Family(family.Family):                                                    
   def __init__(self):                                                         
        family.Family.__init__(self)                                            
        self.name = 'bigforest'                                                       
        self.langs = {                                                          
            'ko': 'bigforest.miraheze.org',         #url 입력하기                      
        }

   def protocol(self, code):     #사용 프로토콜, https를 사용할 경우 반드시 지정해야 한다.                                             
      return 'https'
   def scriptpath(self, code): # 스크립트 경로
      return '/w'
   def apipath(self, code): # api 경로
      return '/api.php'

마지막으로 pwb.py가 있는 디렉토리와 같은 곳에서 user-config.py를 아래와 같이 설정하면 된다.

family = 'bigforest'
mylang = 'ko'
usernames['bigforest']['ko']=u'(사용자명)'

참조[편집 | 원본 편집]

  1. 일부 코드는 공개 소스를 기반으로 사용하여 공개 라이선스이다. mw:Pywikibot/Overview 참조.