도서 api 비교하는 블로그: https://myunji.tistory.com/m/472,
카카오 책 api: https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide#search-book
네이버 책 api: https://developers.naver.com/docs/serviceapi/search/book/book.md#책
To do list
To do
참고:https://velog.io/@hyungjin1124/네이버-검색-API-서비스
필요한 쿼리
요청변수 | 값 | 설명 |
---|---|---|
title | string | 검색 결과 문서의 제목을 나타낸다. 제목에서 검색어와 일치하는 부분은 태그로 감싸져 있다. |
link | string | 검색 결과 문서의 하이퍼텍스트 link를 나타낸다. |
image | string | 썸네일 이미지의 URL이다. 이미지가 있는 경우만 나타납니다. |
author | string | 저자 정보이다. |
isbn | integer | ISBN 넘버이다. |
description | string | 검색 결과 문서의 내용을 요약한 패시지 정보이다. 문서 전체의 내용은 link를 따라가면 읽을 수 있다. 패시지에서 검색어와 일치하는 부분은 태그로 감싸져 있다. |
pubdate | string | 출간일 정보이다. |
from urllib.request import Request, urlopen
from urllib.parse import urlencode, quote
import json
import re
import numpy as np # numpy 도 함께 import
import pandas as pd
from pandas.io.json import json_normalize
CLIENT_ID = 'WJrpU82XlHCQo14O0dSu'
CLIENT_SECRET = '8klUUYm3mk'
df = pd.DataFrame(columns=['Title','Link','Image','Author','Isbn','Description','Pubdate'])
start = 1
end = 1000
display = 100
idx = 0
sort='sim'
query = urllib.parse.quote('컴퓨터/IT')
for start_idx in range(start,end,display):
#request객체 생성 및 header 추가
url = '<https://openapi.naver.com/v1/search/book?query=>' + query + \\
"&display=" + str(display) + \\
"&start=" + str(start_idx) + \\
"&sort=" + sort
request = Request(url)
request.add_header('X-Naver-Client-Id', CLIENT_ID)
request.add_header('X-Naver-Client-Secret', CLIENT_SECRET)
response = urlopen(request)
response_code = response.getcode()
if (response_code == 200):
response_body = response.read().decode('utf-8')
books = json.loads(response_body)['items']
remove_tag = re.compile('<.*?>')
for book_index in range(0,len(books)):
title = re.sub(remove_tag, '',books[book_index]['title'])
link = books[book_index]['link']
image = books[book_index]['image']
author = books[book_index]['author'].replace('^',',')
isbn = int(books[book_index]['isbn'])
description = re.sub(remove_tag, '',books[book_index]['description'])
pubdate = books[book_index]['pubdate']
df.loc[idx] = [title,link,image,author,isbn,description,pubdate]
idx += 1
#search_book('컴퓨터/IT')
df.to_csv('/Users/gitak/Documents/techl/book5.csv', encoding='cp949')
print(df.dtypes)