Pywikipedia 이중 넘겨주기 봇 돌리기

1 개요[ | ]

미디어위키 이중 넘겨주기 봇 돌리기
미디어위키 이중넘겨주기 수정 봇 돌리기
  • 미디어위키 사이트를 만들어 사용하다 보면 언젠가는 위키백과의 이중 넘겨주기 봇이 필요하다고 느껴질 때가 온다.
  • 물론 특수기능:이중넘겨주기에서 수작업으로 수정할 수 있지만 양이 많을 경우 매우 지겨운 일이 된다.
  • 이중넘겨주기를 일괄작업해주는 봇을 돌려보자.

2 사전 작업[ | ]

3 명령어[ | ]

python redirect.py double

4 실행 예시[ | ]

pywikipedia가 설치된 곳으로 이동하여 실행한다.

[root@localhost ~]# cd pywikipedia
[root@localhost pywikipedia]# python redirect.py double
Retrieving special page...
Retrieved 9 redirects from special page.

>>> Jquery mobile <<<
   Links to: [[JQuery 모바일]].
   Links to: [[JQuery 모바일 시작하기]].
- #넘겨주기 [[jQuery 모바일]]
+ #넘겨주기 [[JQuery 모바일 시작하기]]

Do you want to accept the changes? ([y]es, [N]o, [a]ll, [q]uit)

실행해 보면 일단 이중넘겨주기가 몇 개 있는지를 알려준다. 여기서는 9개임을 알 수 있다.

자동으로 모두 수정하도록 하기 위해 a 엔터키를 입력한다.

Do you want to accept the changes? ([y]es, [N]o, [a]ll, [q]uit) a
Password for user Jmnote_bot on Jmnote:ko:

패스워드를 입력하라고 한다. 입력하자.

패스워드까지 입력하고 나면 자동으로 끝까지 진행된다.

Password for user Jmnote_bot on Jmnote:ko: 
Logging in to Jmnote:ko as Jmnote_bot via API.
Should be logged in now
WARNING: Your account on Jmnote:ko does not have a bot flag. Its edits will be visible in the recent changes and it may get blocked.
Updating page [[Jquery mobile]] via API

>>> /etc/login.defs <<<
   Links to: [[Login.defs]].
   Links to: [[리눅스 패스워드 정책]].
- #넘겨주기 [[Login.defs]]
+ #넘겨주기 [[리눅스 패스워드 정책]]
...(생략)
  • 참고로 위에서 경고가 나오는 이유는 봇으로 등록 승인된 사용자가 아니기 때문이다.
  • 위키백과에서는 일반계정으로 봇을 돌리는 것이 정책상 금지되어 있기 때문에, 승인 없이 봇을 돌렸다가는 차단될 수 있다.
  • 봇이 잘못 동작할 경우 많은 문서를 손상시킬 수 있기 때문이다.
  • 봇이 하는 편집은 특수기능:최근바뀜에 보이지 않는다.

5 결과 확인[ | ]

끝까지 다 실행되면 사이트에 가서 특수기능:이중넘겨주기를 열어보자. 성공적으로 작업이 되었다면 남은 것이 하나도 없을 것이다.

수행 전
이중 넘겨주기 목록

이 문서는 다른 넘겨주기 문서로 넘겨주고 있는 문서의 목록입니다.
매 줄에는 첫 번째 문서와 두 번째 문서의 링크가 있습니다.
그리고 보통 첫 번째 문서가 넘겨주어야 할 "실제" 문서인 두 번째 넘겨주기의 대상이 있습니다.
취소선이 그인 부분은 이미 해결되었습니다.

1번 부터의 결과 9개입니다.
...(생략)
수행 후
이중 넘겨주기 목록

이 문서는 다른 넘겨주기 문서로 넘겨주고 있는 문서의 목록입니다.
매 줄에는 첫 번째 문서와 두 번째 문서의 링크가 있습니다.
그리고 보통 첫 번째 문서가 넘겨주어야 할 "실제" 문서인 두 번째 넘겨주기의 대상이 있습니다.
취소선이 그인 부분은 이미 해결되었습니다.

명령에 대한 결과가 없습니다.

6 여담[ | ]

  • 이중 넘겨주기를 수작업으로 수정하는 것도 귀찮고 봇을 사용하는 것도 어렵다면 LocalSettings.php 파일에 $wgMaxRedirects 값을 설정해주는 것도 방법이다.
  • $wgMaxRedirects는 넘겨주기 깊이(rediection depth)라고 할 수 있다. 기본값을 1이며 넘겨주기 한번은 자동으로 넘겨준다.
  • 0으로 설정하면 자동 넘겨주기를 전혀 하지 않는다.
  • 2로 설정하면 이중 넘겨주기를 한번에 자동으로 넘겨준다.
  • 3으로 설정하면 삼중 넘겨주기도 한번에 자동으로 넘겨준다.

7 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}