- 기본 이름공간의 문서만 가져옵니다. 따라서 사용자 문서, 틀 등은 대상이 아닙니다.
- 문서 역사에 원본 문서로 가는 링크가 있었으면 하여, 다음과 같은 편집 요약을 남길 예정입니다. 예:
리브레 위키 "프로그래밍 언어" 문서 2021-06-19T16:25:42Z판에서 가져옴 (페미위키:포크 프로젝트)
- 물론 대상 위키가 미래에 접속이 되지 않게 되면 큰 소용은 없어지지만, 인터위키를 사용할 예정이기에 만일 대상 위키의 포크 위키라도 있다면 링크를 바꾸는 건 인터위키 url을 변경해 가능합니다.
- API를 통한 내보내기는 전체 역사를 포함하는 것은 불가능해 보여 생략합니다.
- 이 스크립트를 사용합니다. https://github.com/lens0021/wiki-crawl
- 사용하는 계정은 제 개인 봇(사용자:낙엽 봇)을 쓸 예정입니다.
- 따라서 바뀐글에서는 봇 편집 숨김을 통해 숨길 수 있고, 디스코드에는 표시되지 않을 것입니다.
- 특수:봇비밀번호에 설정할 권한은 "대용량 편집", "판 가져오기", "문서 만들기, 편집 및 이동"입니다.
- 문서 가져오기가 현재 페미위키에서 아무에게도 허용되어 있지 않으므로, 업데이트 적용 후에 옮길 예정입니다.
가져오는 주소는 페미위키:포크 프로젝트/(위키 이름)/(문서 이름)
로 생각 중이고, 예를 들어 위키백과 페미니즘 문서를 가져온다면 페미위키:포크 프로젝트/위키백과/페미니즘으로 가져옵니다.
하다보니까 실패하는 경우도 생기는데요
Trying to import 99... Done Error: invalidjson: No valid JSON response at /home/****/git/wiki-crawl/node_modules/mwbot/src/index.js:254:31 at tryCatcher (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/promise.js:729:18) at _drainQueueStep (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (/home/****/git/wiki-crawl/node_modules/bluebird/js/release/async.js:15:14) at processImmediate (internal/timers.js:461:21) { code: 'invalidjson', info: 'No valid JSON response', response: undefined }
저희 목적이 해당 위키의 보존이 아니라 페미위키의 증진인 만큼 앞으로 따로 기록 안 하고 그냥 무시하겠습니다.
추가로 생각나서 적어 놓습니다. $wgImportSources과 ImportSites.php를 이용하면 API 호출 한번으로 대상 위키에서 현재 위키로 역사를 포함한 문서를 모두 가져오는 것이 가능해보였지만, 서버에서 해야 하는 작업이 많아 장기적으로 적절하지 않은 것 같아 작업 방식으로는 쓰지 않았습니다.