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'(사용자명)'
참조[편집 | 원본 편집]
- mw:Manual:Pywikibot - 미디어위키 Pywikibot 매뉴얼
- AutoWikiBrowser - 위키백과에서 봇을 만드는 다른 도구이다.
- Pywikibot 저작 정보
- ↑ 일부 코드는 공개 소스를 기반으로 사용하여 공개 라이선스이다. mw:Pywikibot/Overview 참조.