ISBN 추출해 책 파일을 카테고리별로 자동 분류 | BookRef Auto-Tagger
AI(Gemini 2.5 Pro Preview)와 함께 만든 자작 프로그램 2탄으로 도서(Text, EPUB) 파일의 카테고리(장르, 주제) 정보 추출 및 (알라딘 서점의 도서 분류 형식에 따라) 카테고리별로 자동 정리해 주는 파이선 프로그램을 만들어봤다.
알라딘 API를 모른 상태에서 코딩을 시작했을 땐 도서 정보를 Open Library라는 곳에서 가져온다. 당연히 아무것도 가져올 수 없다.
국내 인터넷 서점에서 알라딘 오픈 API가 일단 눈에 띄어 테스트해 봤더니 의도대로 작동하는 것 같다. 그래서 여기에 EPUB 지원과 카테고리 폴더로 자동 분류하는 기능, 그리고 마지막으로 API 일일 할당량(퀴리 5천 회)을 다 소진하면 작업을 중지하는 기능까지 추가하는 데 성공했다. 사실 이 프로그램은 ISBN 값을 가진 도서 파일을 다량 보유한 소수의 사람만을 위한 프로그램이다. 그래서 인터넷에도 없고, 그래서 직접 제작할 수밖에 없었다.
도서 파일을 반드시 분류해야 할 필요는 없지만, 서로 연관성 없는 다양한 장르의 책들이 한 폴더에 있는 것은 오합지졸들이 작당하는 것처럼 보여 미관상 안 좋고 읽을 책 살피는 것도 불편하다. 지금까지는 틈틈이 인터넷 서점에서 책 정보를 검색하는 등의 수작업으로 분류해 왔는데, 이젠 그럴 필요가 없다.
테스트 영상
책갈피 자동 분류기(BookRef Auto-Tagger) 특징
- 간편한 자동화
- 정확한 도서 분류
- 사용자 친화적 인터페이스
- 유연한 작업 제어
- 효율적인 결과 관리
- 안정적인 처리
- 실시간 피드백
텍스트 파일(.txt) 및 EPUB 파일(.epub) 내 ISBN 자동 감지
수동 검색 없이 클릭 몇 번으로 도서 정보 일괄 처리
신뢰도 높은 알라딘 API 연동으로 정확한 도서 카테고리 정보 획득
감지된 카테고리 이름으로 자동 폴더 생성 및 파일 이동(옵션)
ISBN 값을 발견하지 못한 파일은 ‘미분류 (ISBN 없음)’ 폴더로, ISBN 값이 있지만 API 조회 값을 얻지 못한 파일은 ‘카테고리 미확인’ 폴더로 이동
직관적인 GUI 환경으로 누구나 쉽게 사용 가능(별도 메뉴바 없음)
TTBKey 파일 저장/로드 기능으로 반복 입력 최소화
작업 일시 정지, 계속, 취소 기능 제공
하위 폴더 포함 여부, 파일 이동 여부 등 사용자 설정 가능
"파일명 - ISBN - 카테고리" 형식의 깔끔한 결과 목록 생성
‘오류 및 정보 없음’ 결과는 필터링하여 유효한 내용만 텍스트 파일로 저장
API 일일 사용량 초과 시 자동 작업 중단 및 사용자 알림
파일 이동 시 동일 파일명 중복 방지 처리
처리 중인 파일, 감지된 ISBN, 조회된 카테고리 등 실시간 진행 상황 표시
GUI 멈춤 방지를 위한 스레딩 처리
책갈피 자동 분류기(BookRef Auto-Tagger) 다운로드
파이선 사용자: BookRef-Auto-Tagger.py
파이선 설치 필요 없는 독립 버전: BookRef-Auto-Tagger.exe
이 소스에 새 기능을 추가하거나 코드를 최적화하는 능력자분이 계신다면
완성 후 공유해주시면 고맙겠습니다!!!
BookRef Auto-Tagger 사용법
1. 파이선 설치(exe 파일은 그냥 실행)
2. pip install requests(BookRef Auto-Tagger 구동에 필요한 requests 모듈 설치)
3. python BookRef-Auto-Tagger.py(책갈피 자동 분류기 실행)
4. 알라딘 TTBKey 입력 후 사용
TTBKey는 「OpenAPI 이용 안내」에서 받을 수 있음(일일 쿼리 5,000회 제한, 구글 계정으로 여러 개 생성 가능)
주제 분류 정보가 여러 개 등록되어 있을 경우 제일 첫 번째 주제를 기준으로 정리된다.
마무리
‘ISBN’이란 문자가 있는 줄을 검색해서 해당 값을 추출하는 방식이고, 주로 텍스트 파일 위주로 테스트해서 EPUB 파일은 추출하지 못하는 ISBN 패턴이 있을 수 있으며, 텍스트 파일이라도 ISBN 값이 표준(내가 고려한 패턴)을 벗어나면 이 역시 인식하지 못할 것이다. 그래도 만 개 이상 텍스트 파일 테스트 결과 ISBN 값만 있다면 대략 90% 이상은 인식하는 듯하다.
사용하면서 버그가 있거나 더 추가하고 싶은 기능이 있다면 AI에 부탁하면 될 것이다. 참고로 알라딘 API를 활용하면 ISBN 값 기반으로 도서 파일 이름을 원하는 형식으로 (예: 작가명 - 책제목) 일괄 변경하는 것도 가능할 것 같다.
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요