working_helen
[데이터 수집] 도서 데이터, 카카오 API 본문
데이터 수집 단계에서 접한 다양한 도서 데이터와 Kakao Developers에 대해 공부해본다.
1. 국립중앙도서관 데이터
2. Kakao Developers
1. 국립중앙도서관 데이터
1) 국가서지 LOD
- 국립중앙도서관에서 제공하는 공공 데이터 개방 서비스 중 하나
- 서지 및 주제명, 저자명과 전국의 도서관 정보 등 데이터를 JSON , RDF/XML , Turtle , N3 , nTriples 5가지 형식으로 제공한다.
2) 사서지원서비스
- 대한민국 국가서지 데이터 + 국가전거 검색 서비스를 제공한다.
※ 국가서지 / 국가전거
국가서지란 특정 국가에서 간행된 모든 출판물의 서지정보를 종합적으로 수록한 목록 국립중앙도서관은 「도서관법」제20조 제1항 제3호에 따라 ‘국가 서지 작성 및 표준화’를 시행하는 국가 대표 기관으로 대한민국 국가서지 작성 및 발간뿐만 아니라, 국내 도서 관계의 서지 표준화에 앞장서고 있다.
전거란 표목으로 사용된 이름(개인명, 단체명, 회의명, 지리명, 표제명과 주제명 등)의 형식을 일관되게 유지하여 동종의 자료를 모으고 이종의 자료를 식별 하는 것이다. 국립중앙도서관은 구축한 국가전거데이터를 공개하고 이를 활용한 다양한 검색서비스를 제공하고 있다.
- 국립중앙도서관 사서지원서비스 (https://librarian.nl.go.kr/LI/contents/L40102010000.do) -
3) 도서관 정보 나루
- 도서관 빅데이터를 개방 및 공유하여 활용할 수 있도록 지원하는 서비스
- 전국 공공도서관에서 회원·장서·대출 데이터 수집
→ 기간별/지역별/성별/연령별 대출 장서, 전국 공공 도서관 주요 현황, 대출도서 순위, 이달의 키워드 등
다양하게 세분화된 데이터 및 데이터 대시보드를 제공한다.
2. Kakao Developers
1) 서비스 개요
- 카카오 API 플랫폼, 카카오 서비스와 연계된 다양한 오픈 API와 개발 도구 공개
- 웹사이트에서 카카오 API를 이용한 다양한 서비스 구현시 다양한 기능을 지원받을 수 있다.
- Kakao Developers 제공 API 목록
- 소셜통합 API
: 카카오 로그인, 카카오톡 소셜, 메시지, 톡캘린더, 지도/로컬, 카카오내비, 카카오스토리 - 비즈니스 API
: 카카오싱크, 카카오톡 채널, 카카오페이, 카카오모먼트, 카카오 키워드광고, 푸시 알림 - 인공지능 API
: 검색, KoGPT, Karlo
2) Daum 검색 API
: Daum 웹 문서, 동영상, 이미지, 블로그, 책, 카페를 검색하는 기능을 제공
3) requests로 도서 정보 불러오기
requests 라이브러리
- python에서 사용하는 HTTP 클라이언트 라이브러리, 쉽게 http 요청을 처리할 수 있다.
- 어떤 방식의 HTTP 요청을 하느냐에 따라 get / post / put / delete 등에서 함수 선택한다.
requests.get(url, params={key: value}, ,,,)
- url : HTTP 요청 url
- params : query string으로 보낼 dictionary, tuple, bytes 목록
- headers : 지정 url로 보낼 HTTP 헤더 dictionary, 응답에 대한 메타 데이터를 주고 받기위해 사용
- 기타 파라미터 : allow_redirects / auth cert / cookies / proxies / stream / timeout / verify
(파라미터 관련 설명 : https://homzzang.com/b/py-87)
- 지정 url로 get 요청을 보냄 → 요청을 받은 서버는 요구되는 작업 수행 → 요청자에게 response 전달
- get 함수를 이용하는 경우 query string으로 응답받을 데이터를 필터링하는 경우가 많은데, 이때 params 파라미터를 이용해 query string을 전달할 수 있다.
프로젝트에서 진행한 kakao developers의 도서 검색 API를 활용하는 코드
import requests
rest_api_key = "발급받은 API 키"
url = "https://dapi.kakao.com/v3/search/book"
#헤더 : 인증 방식은 API 키로 인증 요청
header = {"authorization": "KakaoAK "+ rest_api_key}
#쿼리 파라미터 : 궁금한 도서의 isbn
querynum = {"query": "9788952791160"}
#도서 정보 불러오기
##응답 전문
response = requests.get(url, headers=header, params = querynum)
##응답전문의 바이너리 원문 추출
response.content
##응답전문에서 UTF-8로 인코딩된 문자열 추출
response.text
Reference
https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide#search-book
https://hotel-iu.tistory.com/303
https://www.daleseo.com/python-requests/
https://homzzang.com/b/py-87
'deep daiv. > 추천시스템 project' 카테고리의 다른 글
[text 감정 추출 모델] SVM 모델 학습 / text 감정 추출 결과 (0) | 2024.01.08 |
---|---|
[text 감정 추출 모델] Data Augmentation 데이터 증강 (0) | 2024.01.06 |
[text 감정 추출 모델] 텍스트 전처리 / Goolgetrans 번역 API (0) | 2023.09.18 |
[Audio feature 군집화] Spotify Song Clustering with k-means (0) | 2023.09.16 |
[Audio feature 군집화] K-means 분류 모델 (0) | 2023.09.10 |