도서 노트 생성 자동화 프로젝트 - 2

목차
1. 개요
2. 시나리오 설명
3. 자세한 설명
4. 결과물

1. 개요

  1. 다음은 이전 글 입니다.

    도서 노트 생성 자동화 프로젝트 - 1

  2. 이번에 추가한 내용은 "목차", "책 속으로", "출판사서평", "작가 소개글" 입니다.

  3. 기존에는 네이버 API만 사용했는데 이번에는 카카오 API를 함께 썼습니다.

    1. 이유 1: 네이버 도서 URL을 Make로 접근할 수 없었습니다.

    2. 이유 2: 다음 API로 호출한 책 이미지 URL을 노션에 append하면 에러가 발생합니다.

  4. GPT API를 사용하고 싶었지만 Tier가 낮아서 사용 제한에 걸렸습니다.

1-1. 활용 툴

  1. Make

  2. Notion

  3. ChatGPT

  4. regex101 - Regular Expression tool

  5. 네이버 API

  6. 카카오 API

2. 시나리오 설명

프로젝트의 다양한 단계를 보여주는 다이어그램
  1. Set Valuable으로 변수 book_search를 만들어 검색어를 입력합니다.

  2. HTML Request 로 카카오 API와 네이버 API를 호출합니다.

  3. 카카오 API로 받은 도서 URL에서 HTML Doucment를 가져옵니다.

  4. HTML을 Text로 변환합니다.

  5. Match pattern 모듈을 사용하여 Text의 특정 부분들을 추출합니다.

  6. Set multiple variables 에 변수들을 만들어 책에 대한 정보들을 분류합니다.

  7. Notion 모듈으로 Database에 새로운 노트를 생성하고 내용을 작성합니다.

3. 자세한 설명

3-1. API 호출

한국의 어도비 어도비 어도비 어도비 어도비
스프레드시트의 항목 목록을 보여주는 화면 스크린샷
  1. 좌측은 다음 API 우측은 네이버 API입니다.

  2. HTML Request 모듈을 사용했습니다. 정보를 줄 것을 요청하는 것이기에 Method는 Get입니다.

  3. Header에는 인증 정보를 입력합니다. API 마다 요구하는 인증 정보가 다릅니다. 그러니 각 API의 공식 문서를 참고합니다.

  4. URL에 검색어를 넣을 때는 인코딩을 해야합니다. 저는 encodeURL() 함수를 사용했습니다.

3-2. HTML Source를 Text로 변환

다양한 유형의 코딩을 보여주는 다이어그램
휴대폰의 SFTP 설정 스크린샷
  1. 앞서 호출한 카카오 API에서 도서 URL을 가져옵니다.

  2. HTTP Request으로 URL의 HTML source를 가져옵니다. (두 번째 사진)

  3. HTML to Text 모듈로 HTML을 Text로 변환합니다.

  4. 이 Text에는 해당 웹사이트의 모든 문자를 담고 있습니다. (실습 도서 URL: 통찰하는 기계 질문하는 리더 – Daum 검색)

3-3. Text에서 특정 내용 추출

한국어 받기 - 스크린샷 미리보기 이미지
  1. Match patter 모듈으로 Text의 특정 부분을 추출합니다.

  2. 내가 원하는 부분을 지시할 Regular expression을 작성합니다. 저는 ChatGPT를 활용했습니다.

    1. 대화 1: https://chatgpt.com/share/e6eabb41-efd7-4c7a-8863-d0a7ec4f89a4

    2. 대화 2: https://chatgpt.com/share/2a419db4-a924-405c-b614-e12f751a131b

  3. 다음 웹 도구를 사용하여 Regular expression을 검증합니다. → regex101

  4. 간혹가다 Regular Expression이 매치하지 않는 경우가 있을 수 있으니 확인이 필요합니다.

다음은 제가 사용한 Regular expressions 입니다.

  1. (?<=\\[javascript:;\\] 목차\\n)([\\s\\S]*?)(?=\\[javascript:;\\])

  2. 접기 저자s*([\\s\\S]*?)(?=출처\\s*:)

3-3. 노션에 노트 생성

nodejs의 도구를 보여주는 아이콘 세트
  1. 앞선 과정에서 얻은 정보들을 직관적으로 알아보기 위해 변수들을 만들어서 담았습니다. (사진에서 왼쪽 모듈)

  2. 노션의 Create database item 모듈로 Database와 연결하고 새로운 노트를 생성합니다. 동시에 속성 값도 입력합니다.

  3. 노션의 Append a Page Content 모듈로 책소개와 목차 등의 내용을 입력합니다. Page ID에는 ‘2’에서의 모듈의 Database Item ID 를 넣습니다.

  4. 참고로 Append와 Edit을 구별하셔야 합니다.

4. 결과물

한국어로 된 책 목록

Database를 Gallery view로 설정하여 책 표지들이 보이게 만들었습니다.

한국어 텍스트가 있는 페이지

속성과 내용도 잘 작성됍니다.

3
1개의 답글

👉 이 게시글도 읽어보세요