나무위키 경로 탐색기
나무위키에서 했던 일을 떠올려 보세요. 어느새 처음 봤던 문서와는 전혀 관계없는 문서까지 빙빙 돌아간 경험, 다들 한 번쯤은 겪어 보셨을 겁니다. 하지만 나뭇가지™ 가 있다면 이제 낭비되는 시간을 걱정할 필요가 없습니다. FIRST
문서에서 LAST
문서까지 가장 적은 클릭만으로 도착할 수 있는 경로를 빠르게 찾아주니까요.
- Node.js를 설치하세요. npm은 Node.js 설치할 때 알아서 함께 설치됩니다.
- Git으로 이 저장소를 복제하세요. Git이 없다면 ZIP 파일을 받아서 압축 파일을 푸셔도 됩니다.
- 나무위키:데이터베이스 덤프에서 JSON 파일을 받으세요. 이거 용량이 장난 아니에요. 약 8GB.
namugazi
폴더로 다운로드한 JSON 파일을 옮기고,namuwiki.json
로 이름을 바꾸세요.$ mongod
명령어로 MongoDB를 켜세요. 없다면 여기에서 받아서 설치하세요.namugazi
폴더에서$ npm run wiki
명령어로 나무위키 데이터를 불러오세요.$ FIRST="제이나 프라우드무어" LAST=빛나래 npm start
명령어로 실행을 확인해 보세요.
$ npm test
- 코드 스타일 검사입니다. 별다른 동작 테스트는 만들기 귀찮아서...$ npm run wiki
-mongoimport
명령어를 사용해 나무위키 데이터를 불러옵니다.$ npm run surf
- 랜덤 문서에서 시작해, 더 이상 링크가 안 나올 때까지 무작위로 이동한 결과를 출력합니다.
이름 | 설명 |
---|---|
FIRST |
출발할 문서의 제목입니다. 문서가 존재하지 않는다면 실행이 바로 종료됩니다. |
LAST |
도착할 문서의 제목입니다. 문서 또는 문서의 역링크가 존재하지 않는다면 실행이 바로 종료됩니다. |
RESULT_PATH |
실행 결과가 저장될 파일의 경로입니다. 따로 설정하지 않았다면 ./result.txt 를 기본으로 사용합니다. |
NO_DATE |
1이면, 날짜 관련 문서를 탐색 과정에서 무시합니다.^\d+세기$ , ^\d+년$ 또는 ^\d+월 \d+일$ 정규식에 매칭되는 문서가 해당됩니다. |
MUTE_STATUS |
1이면, 매 반복마다 현재 상태를 출력하지 않습니다. |
PRINT_DEQUEUE |
1이면, 큐에서 문서를 꺼낼 때 로그가 출력됩니다. |
PRINT_ENQUEUE |
1이면, 큐에 다음에 탐색할 문서를 집어넣을 때 로그가 출력됩니다. |
환경변수를 설정하기 힘들거나 매번 입력하는 게 귀찮으시다면 .env
파일에 설정을 저장해 두세요. .env
파일의 자세한 사용법은 dotenv 저장소에 예쁘게 설명되어 있습니다.
MIT 라이선스 하에 배포됩니다.
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.