DS스쿨 스터디 노트 - EDA Naver API

구너탱·2023년 5월 25일
0

EDA

목록 보기
5/6
post-thumbnail

06. Naver API

1. 네이버 API 사용 등록

2. 네이버 검색 API 사용하기

- urllib : http 프로토콜에 따라서 서버의 요청/응답을 처리하기 위한 모듈
- urllib.request: 클라이언트의 요청을 처리하는 모듈
- urllib.parse: url 주소에 대한 분석

검색: 블로그(blog)

# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/blog?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 17:07:22 +0900",
	"total":394463,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"<b>파이썬<\/b>학원 초보자를 위한 공부과정!",
			"link":"https:\/\/blog.naver.com\/chzhvkdll\/222931446581",
			"description":"그래서 제가 <b>파이썬<\/b>학원을 다닌 계기과 장단점, 고민에 대해 써보도록 하겠습니다 :) 모두가 같을 수는... <b>파이썬<\/b>학원 수강 신청한 건 대학 후배 중에 갑자기 전공 무관하게 그쪽으로 턴해서 공부하고 취직했단... ",
			"bloggername":"에피",
			"bloggerlink":"blog.naver.com\/chzhvkdll",
			"postdate":"20221118"
		},
		{
			"title":"<b>파이썬<\/b>학원을 다니면서 공부해야하는 이유",
			"link":"https:\/\/blog.naver.com\/sow723\/223024072662",
			"description":"개발자와는 전혀 관계 없던 제가 <b>파이썬<\/b>학원을 다니면서 이 쪽으로 취업에 성공할 줄이야 아무도... 그래서 일단 비전공자도 쉽게 배울 수 있다는 언어를 배우기 위해서 #<b>파이썬<\/b>학원 을 다녀보게 되었습니다.... ",
			"bloggername":"Onelog",
			"bloggerlink":"blog.naver.com\/sow723",
			"postdate":"20230222"
		},
		{
			"title":"<b>파이썬<\/b>자격증 기초부터 탄탄한 학습과정!",
			"link":"https:\/\/blog.naver.com\/ekgmldhktks\/223092587492",
			"description":"제가 <b>파이썬<\/b> 기초 공부를 하기 시작한 건 IT에서 제일 쉬운 언어라는 조언을 들어서였어요. :) 많은 프로그래밍 언어 중에 <b>파이썬<\/b> 언어가 입문자에게 가장 권할만하다는 글을 많이 읽을 수 있었습니다. C나 C... ",
			"bloggername":"방탄이의 맛집 탐방",
			"bloggerlink":"blog.naver.com\/ekgmldhktks",
			"postdate":"20230503"
		},
		{
			"title":"<b>파이썬<\/b> 자격증 취득 수업 내용 정리!",
			"link":"https:\/\/blog.naver.com\/eunoia1017\/222968873209",
			"description":"<b>파이썬<\/b> 자격증 취득 수업 내용 정리! 많은 분들이 자신의 본 직업이나 N잡으로 코딩 한 번씩은 다... 오늘은 제가 왜 <b>파이썬<\/b> 자격증을 취득하게 되었는지에 대한 글을 같이 써보려고 해요! <b>파이썬<\/b> 자격증을... ",
			"bloggername":"반짝반짝 빛나는",
			"bloggerlink":"blog.naver.com\/eunoia1017",
			"postdate":"20221229"
		},
		{
			"title":"시대에 <b>파이썬<\/b> 독학을 위한 책 추천, 코딩은 처음이라 <b>파이썬<\/b>!",
			"link":"https:\/\/blog.naver.com\/nkj2001\/223095668983",
			"description":"오랜 시간 끝에 드디어 <b>파이썬<\/b> 독학을 위한 <b>파이썬<\/b> 책, 코딩은 처음이라 with <b>파이썬<\/b>이 출간 되었습니다. 네~ 맞습니다. 제가 쓴 책 입니다. 그 동안 책을 쓰며 블로그에 글도 못 쓰고 영상 강좌 제작도... ",
			"bloggername":"▒ Blog Of Life ▒",
			"bloggerlink":"blog.naver.com\/nkj2001",
			"postdate":"20230507"
		},
		{
			"title":"<b>파이썬<\/b>학원 알뜰한 준비과정",
			"link":"https:\/\/blog.naver.com\/djhyul\/223065807088",
			"description":"생겨서 <b>파이썬<\/b>학원으로 갈만한 곳을 알아보기 시작했죠. 그린컴퓨터아카데미는 제가 알아보고 다니기 시작했던 학원인데 이곳에서는 기초가 된다는 <b>파이썬<\/b>이나 영상편집 IT 관련 수업들을 진행하고 있다고... ",
			"bloggername":"서대전점",
			"bloggerlink":"blog.naver.com\/djhyul",
			"postdate":"20230405"
		},
		{
			"title":"부산코딩학원 <b>파이썬<\/b> 개발 기초부터 배우기",
			"link":"https:\/\/blog.naver.com\/cd34579\/222947814795",
			"description":"좋지만 <b>파이썬<\/b>이 업계에서 많이 쓰고 있기도 하고, 처음 배우기에는 가장 쉬운 언어라고 하셔서 <b>파이썬<\/b> 기초반에 등록을 하게 되었습니다! 지금 생각해보면 <b>파이썬<\/b>으로 시작하기 잘한 것 같아요. 프로그래밍은... ",
			"bloggername":"행복바이러스^^",
			"bloggerlink":"blog.naver.com\/cd34579",
			"postdate":"20221206"
		},
		{
			"title":"<b>파이썬<\/b>자격증 학원 다니면서 준비하기!",
			"link":"https:\/\/blog.naver.com\/subin_s_humteresting\/223003132311",
			"description":"<b>파이썬<\/b>자격증에 대한 정보를 잘 알고 있는 게 아니었습니다. 인터넷에 검색해도 뭐가 좋을지 제대로... 그래서 저는 <b>파이썬<\/b>자격증을 취득하기 전에, 해당 프로그래밍 언어에 대한 기본기부터 배우기로... ",
			"bloggername":"수빈&apos;s humteresting",
			"bloggerlink":"blog.naver.com\/subin_s_humteresting",
			"postdate":"20230202"
		},
		{
			"title":"<b>파이썬<\/b> 학원 선택 이유 및 수업과정",
			"link":"https:\/\/blog.naver.com\/shek99\/222983518965",
			"description":"그 중에서도 <b>파이썬<\/b> 학원을 선택을 했어요. <b>파이썬<\/b> 학원을 선택한 이유는 많은 코딩 프로그램 중 <b>파이썬<\/b>이 가장 좋아 보였기 때문입니다. 이전에는 JAVA나 자바 스크립트, C언어를 많이 배웠는데 인터넷에서 좀... ",
			"bloggername":"Architect & Humanity 건축 인문",
			"bloggerlink":"blog.naver.com\/shek99",
			"postdate":"20230113"
		},
		{
			"title":"<b>파이썬<\/b>학원 개발언어 학습 과정",
			"link":"https:\/\/blog.naver.com\/ddaemine\/223072484592",
			"description":"그 중 하나가 <b>파이썬<\/b>인데요, C언어나 JAVA 등에 비해서 난도가 낮은 편이라서 쉽게 접근할 수 있죠.... 사실은 저도 <b>파이썬<\/b>학원에 다니기 전까지는 이런 내용을 파악하지 못했었어요. 그렇지만 배우면서 차근차근... ",
			"bloggername":"눈 내 위 의 뚝 딱 공 작 소",
			"bloggerlink":"blog.naver.com\/ddaemine",
			"postdate":"20230412"
		}
	]
}
response, response.getcode(), response.code, response.status
(<http.client.HTTPResponse at 0x279ecd21540>, 200, 200, 200)
# 글자로 읽을 경우, decode utf-8 설정
print(response_body.decode("utf-8"))
{
	"lastBuildDate":"Sun, 14 May 2023 17:07:22 +0900",
	"total":394463,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"<b>파이썬<\/b>학원 초보자를 위한 공부과정!",
			"link":"https:\/\/blog.naver.com\/chzhvkdll\/222931446581",
			"description":"그래서 제가 <b>파이썬<\/b>학원을 다닌 계기과 장단점, 고민에 대해 써보도록 하겠습니다 :) 모두가 같을 수는... <b>파이썬<\/b>학원 수강 신청한 건 대학 후배 중에 갑자기 전공 무관하게 그쪽으로 턴해서 공부하고 취직했단... ",
			"bloggername":"에피",
			"bloggerlink":"blog.naver.com\/chzhvkdll",
			"postdate":"20221118"
		},
		{
			"title":"<b>파이썬<\/b>학원을 다니면서 공부해야하는 이유",
			"link":"https:\/\/blog.naver.com\/sow723\/223024072662",
			"description":"개발자와는 전혀 관계 없던 제가 <b>파이썬<\/b>학원을 다니면서 이 쪽으로 취업에 성공할 줄이야 아무도... 그래서 일단 비전공자도 쉽게 배울 수 있다는 언어를 배우기 위해서 #<b>파이썬<\/b>학원 을 다녀보게 되었습니다.... ",
			"bloggername":"Onelog",
			"bloggerlink":"blog.naver.com\/sow723",
			"postdate":"20230222"
		},
		{
			"title":"<b>파이썬<\/b>자격증 기초부터 탄탄한 학습과정!",
			"link":"https:\/\/blog.naver.com\/ekgmldhktks\/223092587492",
			"description":"제가 <b>파이썬<\/b> 기초 공부를 하기 시작한 건 IT에서 제일 쉬운 언어라는 조언을 들어서였어요. :) 많은 프로그래밍 언어 중에 <b>파이썬<\/b> 언어가 입문자에게 가장 권할만하다는 글을 많이 읽을 수 있었습니다. C나 C... ",
			"bloggername":"방탄이의 맛집 탐방",
			"bloggerlink":"blog.naver.com\/ekgmldhktks",
			"postdate":"20230503"
		},
		{
			"title":"<b>파이썬<\/b> 자격증 취득 수업 내용 정리!",
			"link":"https:\/\/blog.naver.com\/eunoia1017\/222968873209",
			"description":"<b>파이썬<\/b> 자격증 취득 수업 내용 정리! 많은 분들이 자신의 본 직업이나 N잡으로 코딩 한 번씩은 다... 오늘은 제가 왜 <b>파이썬<\/b> 자격증을 취득하게 되었는지에 대한 글을 같이 써보려고 해요! <b>파이썬<\/b> 자격증을... ",
			"bloggername":"반짝반짝 빛나는",
			"bloggerlink":"blog.naver.com\/eunoia1017",
			"postdate":"20221229"
		},
		{
			"title":"시대에 <b>파이썬<\/b> 독학을 위한 책 추천, 코딩은 처음이라 <b>파이썬<\/b>!",
			"link":"https:\/\/blog.naver.com\/nkj2001\/223095668983",
			"description":"오랜 시간 끝에 드디어 <b>파이썬<\/b> 독학을 위한 <b>파이썬<\/b> 책, 코딩은 처음이라 with <b>파이썬<\/b>이 출간 되었습니다. 네~ 맞습니다. 제가 쓴 책 입니다. 그 동안 책을 쓰며 블로그에 글도 못 쓰고 영상 강좌 제작도... ",
			"bloggername":"▒ Blog Of Life ▒",
			"bloggerlink":"blog.naver.com\/nkj2001",
			"postdate":"20230507"
		},
		{
			"title":"<b>파이썬<\/b>학원 알뜰한 준비과정",
			"link":"https:\/\/blog.naver.com\/djhyul\/223065807088",
			"description":"생겨서 <b>파이썬<\/b>학원으로 갈만한 곳을 알아보기 시작했죠. 그린컴퓨터아카데미는 제가 알아보고 다니기 시작했던 학원인데 이곳에서는 기초가 된다는 <b>파이썬<\/b>이나 영상편집 IT 관련 수업들을 진행하고 있다고... ",
			"bloggername":"서대전점",
			"bloggerlink":"blog.naver.com\/djhyul",
			"postdate":"20230405"
		},
		{
			"title":"부산코딩학원 <b>파이썬<\/b> 개발 기초부터 배우기",
			"link":"https:\/\/blog.naver.com\/cd34579\/222947814795",
			"description":"좋지만 <b>파이썬<\/b>이 업계에서 많이 쓰고 있기도 하고, 처음 배우기에는 가장 쉬운 언어라고 하셔서 <b>파이썬<\/b> 기초반에 등록을 하게 되었습니다! 지금 생각해보면 <b>파이썬<\/b>으로 시작하기 잘한 것 같아요. 프로그래밍은... ",
			"bloggername":"행복바이러스^^",
			"bloggerlink":"blog.naver.com\/cd34579",
			"postdate":"20221206"
		},
		{
			"title":"<b>파이썬<\/b>자격증 학원 다니면서 준비하기!",
			"link":"https:\/\/blog.naver.com\/subin_s_humteresting\/223003132311",
			"description":"<b>파이썬<\/b>자격증에 대한 정보를 잘 알고 있는 게 아니었습니다. 인터넷에 검색해도 뭐가 좋을지 제대로... 그래서 저는 <b>파이썬<\/b>자격증을 취득하기 전에, 해당 프로그래밍 언어에 대한 기본기부터 배우기로... ",
			"bloggername":"수빈&apos;s humteresting",
			"bloggerlink":"blog.naver.com\/subin_s_humteresting",
			"postdate":"20230202"
		},
		{
			"title":"<b>파이썬<\/b> 학원 선택 이유 및 수업과정",
			"link":"https:\/\/blog.naver.com\/shek99\/222983518965",
			"description":"그 중에서도 <b>파이썬<\/b> 학원을 선택을 했어요. <b>파이썬<\/b> 학원을 선택한 이유는 많은 코딩 프로그램 중 <b>파이썬<\/b>이 가장 좋아 보였기 때문입니다. 이전에는 JAVA나 자바 스크립트, C언어를 많이 배웠는데 인터넷에서 좀... ",
			"bloggername":"Architect & Humanity 건축 인문",
			"bloggerlink":"blog.naver.com\/shek99",
			"postdate":"20230113"
		},
		{
			"title":"<b>파이썬<\/b>학원 개발언어 학습 과정",
			"link":"https:\/\/blog.naver.com\/ddaemine\/223072484592",
			"description":"그 중 하나가 <b>파이썬<\/b>인데요, C언어나 JAVA 등에 비해서 난도가 낮은 편이라서 쉽게 접근할 수 있죠.... 사실은 저도 <b>파이썬<\/b>학원에 다니기 전까지는 이런 내용을 파악하지 못했었어요. 그렇지만 배우면서 차근차근... ",
			"bloggername":"눈 내 위 의 뚝 딱 공 작 소",
			"bloggerlink":"blog.naver.com\/ddaemine",
			"postdate":"20230412"
		}
	]
}
## 검색: 책(book)
# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/book?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 17:12:22 +0900",
	"total":877,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"혼자 공부하는 파이썬 (1:1 과외하듯 배우는 프로그래밍 자습서)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32507605957",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3250760\/32507605957.20230509170119.jpg",
			"author":"윤인성",
			"discount":"18810",
			"publisher":"한빛미디어",
			"pubdate":"20220601",
			"isbn":"9791162245651",
			"description":"혼자 해도 충분하다! 1:1 과외하듯 배우는 파이썬 프로그래밍 자습서\n\n『혼자 공부하는 파이썬』이 더욱 흥미있고 알찬 내용으로 개정되었습니다. 프로그래밍이 정말 처음인 입문자도 따라갈 수 있는 친절한 설명과 단계별 학습은 그대로! 혼자 공부하더라도 체계적으로 계획을 세워 학습할 수 있도록 ‘혼공 계획표’를 새롭게 추가했습니다. 또한 입문자가 자주 물어보는 질문과 오류 해결 방법을 적재적소에 배치하여 예상치 못한 문제에 부딪혀도 좌절하지 않고 끝까지 완독할 수 있도록 도와줍니다. 단순한 문법 암기와 코딩 따라하기에 지쳤다면, 새로운 혼공파와 함께 ‘누적 예제’와 ‘도전 문제’로 프로그래밍의 신세계를 경험해 보세요! 배운 내용을 씹고 뜯고 맛보고 즐기다 보면 응용력은 물론 알고리즘 사고력까지 키워 코딩 실력이 쑥쑥 성장할 것입니다.\n\n이 책은 독학으로 파이썬을 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했습니다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심적인 내용만 콕콕 집어줍니다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 파이썬을 배울 수 있다는 자신감과 확신이 계속될 것입니다!\n\n베타리더와 함께 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했습니다. 어려운 용어와 개념은 한 번 더 풀어쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어냈습니다. ‘혼자 공부해 본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점입니다."
		},
		{
			"title":"Do it! 점프 투 파이썬 (이미 200만명이 이 책으로 프로그래밍을 시작했다!)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32456895000",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3245689\/32456895000.20230511071611.jpg",
			"author":"박응용",
			"discount":"16920",
			"publisher":"이지스퍼블리싱",
			"pubdate":"20190620",
			"isbn":"9791163030911",
			"description":"파이썬 4년 연속 베스트셀러 1위! \n『Do it! 점프 투 파이썬』 전면 개정판 출시!\n\n문과생도 중고등학생도 직장인도 프로그래밍에 눈뜨게 만든 바로 그 책이 전면 개정판으로 새로 태어났다! 2016년 《Do it! 점프 투 파이썬》으로 출간되었던 이 책은 약 4년 동안의 피드백을 반영하여 초보자가 더 빠르게 입문하고, 더 깊이 있게 공부할 수 있도록 개정되었다. 특히 ‘나 혼자 코딩’과 ‘코딩 면허 시험 20제’ 등 독자의 학습 흐름에 맞게 문제를 보강한 점이 눈에 띈다. 실습량도 두 배로 늘었다.\n4년 동안 압도적 1위! 위키독스 누적 방문 200만! 수많은 대학 및 학원의 교재 채택 등! 검증은 이미 끝났다. 코딩을 처음 배우는 중고등학생부터 나만의 경쟁력이 필요한 문과생, 데이터 분석과 인공지능\/머신러닝으로 커리어를 뻗어 나가고 싶은 직장인까지! 프로그래밍의 세계에 풍덩 빠져 보자."
		},
		{
			"title":"코딩 자율학습 나도코딩의 파이썬 입문 (초보자 눈높이에 맞춘 친절한 프로그래밍 자습서)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/37828235624",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3782823\/37828235624.20230404163151.jpg",
			"author":"나도코딩",
			"discount":"20520",
			"publisher":"길벗",
			"pubdate":"20230220",
			"isbn":"9791140703302",
			"description":"30만 명의 구독자와 2만 6천 명의 수강생이 증명한 최고의 파이썬 강의\n나도코딩의 프로그래밍 학습 노하우를 배우자!\n\n유튜브와 인프런 최고의 인기 강의를 한 권에 담았습니다. 일상 속 재미있는 예제로 파이썬 기본 개념을 배우고 1분 퀴즈, 실습 문제, 셀프체크로 이어지는 단계별 학습으로 파이썬을 완공할 수 있습니다. 이제 코딩은 선택이 아닌 필수! 코딩은 전공자만 배울 수 있다는 생각으로 지레 포기하지 마세요. 파이썬은 초보자가 가장 쉽게 배울 수 있는 프로그래밍 언어입니다. 관심만 있다면 누구나 코딩을 배울 수 있습니다. 나도코딩이 쉽고 재미있게 알려드립니다. 코딩을 처음 배우는 사람도 단계적 용어 설명과 친절한 지시선으로 막힘없이 따라 할 수 있습니다. 기본 설명 외에 팁, 노트 등을 적재적소에 배치해 혼자 공부할 때 생길 수 있는 의문점을 쉽게 해결할 수 있게 도와줍니다. 이제 〈코딩 자율학습 나도코딩의 파이썬 입문〉으로 완벽한 코딩 자율학습을 경험해 보세요."
		},
		{
			"title":"챗GPT와 업무자동화 (1분 만에 끝내는 엑셀, 구글 시트, 파워포인트, 파이썬 자동화 with ChatGPT)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/38613559620",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3861355\/38613559620.20230512071057.jpg",
			"author":"김철수",
			"discount":"15390",
			"publisher":"위키북스",
			"pubdate":"20230321",
			"isbn":"9791158394288",
			"description":"코드 한 줄 몰라도 1분 만에 끝내는 엑셀, 구글 스프레드시트, 파워포인트 업무 자동화!\n\n우리는 ChatGPT에게 코드를 요청하고, ChatGPT가 작성한 코드를 사용해서 엑셀이든 파워포인트든 구글 시스프레드시트든 뭐든 자동화할 수 있습니다. Ctrl+C와 Ctrl+V로 하루 종일 해야 했던 단순 반복 업무를 ChatGPT만 있으면 1분 안에 끝낼 수 있습니다. 믿기지 않는다고요? 이 책을 보면 이제 Ctrl+C와 Ctrl+V의 노예에서 해방될 수 있습니다.\n\nChatGPT는 사람의 직업을 대체하지 않습니다. 모든 사람이 본연의 업무에 집중할 수 있도록 단순 반복 업무 같은 작업을 대신하거나, 아주 빠르게 하도록 도와주는 것뿐입니다. ChatGPT와 같은 AI에 익숙해진다면 업무 효율이 부쩍 올라가고 여유 시간이 점점 늘어나는 것을 느낄 겁니다.\n\n★ 이 책의 구성 ★\n\n◎ ChatGPT 개념과 간단한 사용법\n◎ ChatGPT를 사용해서 엑셀을 자동화하는 방법\n◎ ChatGPT가 작성해주는 주는 VBA 코드를 엑셀에서 활용하는 방법\n◎ ChatGPT를 활용한 구글 스프레드 자동화\n◎ ChatGPT의 다양한 활용 - 파이썬으로 뉴스 수집, D3 시각화, 웹페이지 만들기 등"
		},
		{
			"title":"혼자 공부하는 데이터 분석 with 파이썬 (1:1 과외하듯 배우는 데이터 분석 자습서)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/36555425618",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3655542\/36555425618.20230103163017.jpg",
			"author":"박해선",
			"discount":"22230",
			"publisher":"한빛미디어",
			"pubdate":"20230102",
			"isbn":"9791169210287",
			"description":"혼자 해도 충분하다! 1:1 과외하듯 배우는 데이터 분석 자습서\n\n이 책은 독학으로 데이터 분석을 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했습니다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심적인 내용만 콕콕 집어 줍니다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 데이터 분석을 배울 수 있다는 자신감과 확신이 계속될 것입니다!\n\n베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서\n베타리더와 함께 입문자에게 맞는 난이도, 분량, 학습 요소 등을 고민하고 이를 적극 반영했습니다. 어려운 용어와 개념은 한 번 더 풀어쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어냈습니다. ‘혼자 공부해 본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점입니다.\n\n누구를 위한 책인가요?\n\n●\t데이터 분석을 어떻게 시작할지 막막한 비전공자\n●\t파이썬을 배운 다음 의미 있는 실습을 해 보고 싶은 파이썬 입문자\n●\t프로그래밍은 알지만, 분석(통계)에 대한 이해가 필요한 개발자\n●\t데이터에서 유의미한 결과를 도출해 이를 기획이나 마케팅에 적용해 보고 싶은 직장인\n●\t데이터 분석가, 데이터 사이언티스트라는 직업에 관심 있는 모든 사람"
		},
		{
			"title":"파이썬 라이브러리를 활용한 데이터 분석 (영화 평점, 이름 통계, 선거 데이터 등 실사례 사용)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/39490930623",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3949093\/39490930623.20230513071916.jpg",
			"author":"웨스 맥키니",
			"discount":"35100",
			"publisher":"한빛미디어",
			"pubdate":"20230501",
			"isbn":"9791169210973",
			"description":"데이터 분석을 배우는 가장 완벽한 방법 \n파이썬 라이브러리 사용법부터 실제 데이터를 활용한 실습까지 \n\n믿고 보는 파이썬 데이터 분석 대표 도서가 3판으로 돌아왔다. 파이썬 판다스 프로젝트 창시자인 웨스 맥키니가 직접 설명하는 파이썬 라이브러리 사용법은 실용적이고 현대적이다. 파이썬과 판다스 최신 버전을 기준으로 내용을 업데이트했고 다양한 사례를 살펴보며 데이터 분석 문제를 효과적으로 해결하는 방법을 알아본다. \n\n판다스, 넘파이, IPython, 맷플롯립, 주피터 등 다양한 파이썬 라이브러리를 소개하고 새로운 기능뿐만 아니라 메모리 사용량을 줄이고 성능을 개선하는 고급 사용법까지 다룬다. 또한 모델링 도구인 statsmodels와 사이킷런 라이브러리도 소개한다. 신생아 이름 통계 자료, 대선 데이터베이스 등 실제 데이터로 실습하며 데이터에 적합한 도구를 선택하고 효과적으로 분석하는 전문가로 거듭나보자."
		},
		{
			"title":"챗GPT를 활용한 40가지 파이썬 프로그램 만들기 (파이썬 초보 개발자를 위한 챗GPT 실전 활용서)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/39233615626",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3923361\/39233615626.20230509165334.jpg",
			"author":"장문철",
			"discount":"15930",
			"publisher":"앤써북",
			"pubdate":"20230430",
			"isbn":"9791198189202",
			"description":"단 한 줄의 코드 작성없이 원하는 파이썬 프로그램을 완성할 수 있다!\n\n이 책을 통해 파이썬 기본 문법 익힌 후 챗GPT에게 다양한 질문을 통해 40가지 파이썬 프로그램을 만들어보자! \n\n파이썬 기초가 없거나 자세한 문법 설명이 필요한 경우 특별 부록으로 제공되는 〈챗GPT를 활용한 파이썬 문법 배우기 입문〉 PDF 파일을 참고한다. \n\n이 책의 실습에 필요한 소스 다운로드 및 학습하는 과정에서 오류가 발생하는 부분이 있으면 저자에게 질문할 수 있는 질문\/답변 네이버 카페를 앤써북 독지지원센터를 운영한다. 사용 방법은 책 5~6쪽을 참고한다. \n- 앤써북 네이버카페 https:\/\/cafe.naver.com\/answerbook \n- 책 전용 게시판 https:\/\/cafe.naver.com\/answerbook\/menu\/210"
		},
		{
			"title":"CODING BASICS PYTHON (파이썬)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32440944646",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3244094\/32440944646.20230509164030.jpg",
			"author":"김상민^장성식^김일태",
			"discount":"18000",
			"publisher":"렉스미디어닷넷",
			"pubdate":"20220210",
			"isbn":"9788959604210",
			"description":"파이썬으로 다지는 프로그래밍의 기초\n\nㆍ 다양한 예제를 활용하여 초보자도 쉽게 프로그래밍의 기본을 익힐 수 있는 파이썬 입문서입니다.\nㆍ 문법을 사전식으로 나열하지 않고 기능적인 프로그램을 하나씩 완성하면서 익힐 수 있게 구성했습니다.\nㆍ 단계별로 완성하는 장별 예제 및 연습문제를 바탕으로 자신만의 프로그램을 완성할 수 있습니다."
		},
		{
			"title":"파이썬",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32460987987",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3246098\/32460987987.20230207163755.jpg",
			"author":"홍의경",
			"discount":"29760",
			"publisher":"생능출판",
			"pubdate":"20220309",
			"isbn":"9788970506784",
			"description":"코딩 실력을 키우는 지름길은 실습이다.\n\n2008년 즈음에 검인정 중학교 교과서 정보1, 정보2, 정보3을 공저로 저술하였습니다. 그 당시에 8종류의 교과서가 검인정에 합격하였는데, 파이썬을 기반으로 하는 교과서가 2종류, C언어를 기반으로 하는 교과서가 2종류, 베이직을 기반으로 하는 교과서가 2종류, 스크래치를 기반으로 하는 교과서가 2종류였습니다.\n\n교육용 언어로 시작한 파이썬이 중학교 학생들이 비교적 쉽게 학습할 수 있는 프로그래밍 언어라고 생각했는데 10여년의 세월이 흐른 지금 파이썬이 활용되는 분야가 가히 폭발적으로 증가하였습니다. \n\n파이썬에 관한 쉽고 좋은 교재를 저술하기 위해서 인터넷에서 30,000페이지 이상의 자료를 찾아서 검토하였습니다. 어쩌면 파이썬이 첫 프로그래밍 언어일 본 교재의 독자들이 두려움 없이 파이썬을 기초부터 쉽게 공부하다가, 교재를 다 읽고 나면 “어느새 중급 수준에 도달했구나”라는 생각이 들도록  완성도 높은 교재를 목표로 하였습니다. \n\n입문자를 대상으로 하는 교재일수록 집필하는데 훨씬 더 많은 정성과 노력이 필요하다는 것을 잘 알고 있습니다. 개인적으로는 데이터베이스 전공교재를 저술할 때보다 몇 배 더 힘들었고, 공을 많이 들였습니다. \n\n원고를 버전 9까지 작성하는 동안 셀 수 없이 원고를 읽어보면서 꼭 필요하지 않은 문장은 삭제하고, 필요한 문장은 반드시 넣었습니다. 고등학교 검인정 교과서 1권, 중학교 검인정 교과서 3권, 데이터베이스 전공 교재 2권, 엑셀 교재 1권, 번역서 2권을 집필하면서 나름대로 한글을 정확하고 간결하게 표현하는데 자신이 있습니다."
		},
		{
			"title":"파이썬 (제2판)",
			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32436240934",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3243624\/32436240934.20230404163407.jpg",
			"author":"염기원",
			"discount":"16200",
			"publisher":"북두",
			"pubdate":"20220120",
			"isbn":"9791166750991",
			"description":"책의 전반부는 비전공자의 입장에서 비전공자를 위한 파이썬 프로그래밍의 기초적인 내용으로 구성되어 있다. 프로그래밍에 익숙하거나 파이썬 경험이 있는 독자들은 곧바로 책의 후반부를 공부하는 것을 추천한다. 책의 전반부에서는 저자가 처음 컴퓨터 프로그래밍이라는 것을 배울 때 가장 어려워했던 변수와 메모리 관계, 특성에 대해서 상세하게 설명하면서 비전공자들이 쉽게 프로그래밍에 입문할 수 있도록 하였다. 대부분의 프로그래밍 교재와 다를바 없이, 파이썬으로 프로그램을 작성할 수 있도록 개발환경을 설치하는 과정과 사용 가능한 프로그래밍 툴에 대해서도 빠지지 않고 최대한 상세한 설명과 충분한 그림을 삽입하였다. 또한, 전반부의 뒷부분은 데이터 분석에 필요한 파이썬 프로그램 위주로 구성해서 앞부분의 기초 프로그래밍 지식을 바탕으로 본격적인 데이터 분석을 위한 토대를 마련할 수 있도록 구성하였다."
		}
	]
}

검색: 영화(movie)

  • 네이버 영화 서비스 종료해서 안됨.
# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/movie?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
---------------------------------------------------------------------------

HTTPError                                 Traceback (most recent call last)

Cell In[12], line 15
     13 request.add_header("X-Naver-Client-Id",client_id)
     14 request.add_header("X-Naver-Client-Secret",client_secret)
---> 15 response = urllib.request.urlopen(request)
     16 rescode = response.getcode()
     17 if(rescode==200):


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:216, in urlopen(url, data, timeout, cafile, capath, cadefault, context)
    214 else:
    215     opener = _opener
--> 216 return opener.open(url, data, timeout)


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:525, in OpenerDirector.open(self, fullurl, data, timeout)
    523 for processor in self.process_response.get(protocol, []):
    524     meth = getattr(processor, meth_name)
--> 525     response = meth(req, response)
    527 return response


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:634, in HTTPErrorProcessor.http_response(self, request, response)
    631 # According to RFC 2616, "2xx" code indicates that the client's
    632 # request was successfully received, understood, and accepted.
    633 if not (200 <= code < 300):
--> 634     response = self.parent.error(
    635         'http', request, response, code, msg, hdrs)
    637 return response


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:563, in OpenerDirector.error(self, proto, *args)
    561 if http_err:
    562     args = (dict, 'default', 'http_error_default') + orig_args
--> 563     return self._call_chain(*args)


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:496, in OpenerDirector._call_chain(self, chain, kind, meth_name, *args)
    494 for handler in handlers:
    495     func = getattr(handler, meth_name)
--> 496     result = func(*args)
    497     if result is not None:
    498         return result


File ~\miniconda3\envs\ds_study\lib\urllib\request.py:643, in HTTPDefaultErrorHandler.http_error_default(self, req, fp, code, msg, hdrs)
    642 def http_error_default(self, req, fp, code, msg, hdrs):
--> 643     raise HTTPError(req.full_url, code, msg, hdrs, fp)


HTTPError: HTTP Error 404: Not Found

검색: 카페(cafearticle)

# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/cafearticle?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 17:15:13 +0900",
	"total":165271,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"자바 <b>파이썬<\/b> 프로그래밍 언어 차이점 공유!",
			"link":"http:\/\/cafe.naver.com\/winspec\/534813",
			"description":"자바 <b>파이썬<\/b> 프로그래밍, 차이점 안녕하세요! 오늘은 자바 <b>파이썬<\/b> 프로그래밍 언어 차이점에 대해 알려드리려고 합니다. 처음으로 프로그래밍 언어 접하시는 분들은 자바 <b>파이썬<\/b> 중 어떤 언어를 배울지 고민이... ",
			"cafename":"윈스펙|자기계발, 내일배움카드, 토익...",
			"cafeurl":"https:\/\/cafe.naver.com\/winspec"
		},
		{
			"title":"<b>파이썬<\/b> 백엔드 개발자 질문",
			"link":"http:\/\/cafe.naver.com\/sqlpd\/52500",
			"description":"들어가는 백엔드를 <b>파이썬<\/b>으로 개발한다고 하더라구요. (더 물어보기에는 그렇게 친하지 않아서 못 물어보았네요) 이런 쪽은 어떻게 갈 수 있고, 무슨 일을 하는걸까요? <b>파이썬<\/b>으로 할 수 있는 개발자 종류도 궁금합니다..",
			"cafename":"데이터 전문가 포럼 (빅데이터분석기사...",
			"cafeurl":"https:\/\/cafe.naver.com\/sqlpd"
		},
		{
			"title":"카이스트 사이버 영재원(C언어 1레벨, <b>파이썬<\/b> 1레벨) 절반 조금 넘게 진도 나갔어요.",
			"link":"http:\/\/cafe.naver.com\/mathall\/2622594",
			"description":"<b>파이썬<\/b>은 어떻게 시작할까 하다가 체계적으로 하기 위해 카이스트 사이버 영재원에 1레벨로 두과목 다 신청하게 되었어요. 초등부 정보올림피아드 1등이 목표인데 C언어랑 <b>파이썬<\/b>을... ",
			"cafename":"[상위1%카페] 대한민국 상위1% 교육정...",
			"cafeurl":"https:\/\/cafe.naver.com\/mathall"
		},
		{
			"title":"<b>파이썬<\/b>을 시작으로 몇가지 언어를 공부하고 싶은데 조언 부탁 드립니다.",
			"link":"http:\/\/cafe.naver.com\/inmacbook\/2608694",
			"description":"같아 <b>파이썬<\/b>을 시작으로 나중에는 플러터, C#을 공부해 볼까 합니다. 현업 개발자들이 들으시면... ^^ 저는 M1 Pro 16인치 사용 중인데, 검색을 해보니 <b>파이썬<\/b>을 공부하려면 아나콘다, 홈브루, repl.it 등을 여러 가지 툴을... ",
			"cafename":"맥 쓰는 사람들 [구 맥북을 쓰는 사람...",
			"cafeurl":"https:\/\/cafe.naver.com\/inmacbook"
		},
		{
			"title":"<b>파이썬<\/b> 셤보러 출동요",
			"link":"http:\/\/cafe.naver.com\/yeosumam\/1496560",
			"description":"3급 <b>파이썬<\/b>붙고나서 이번에 다시접수한 2급 이렇게 멀리서보는지 몰랐네요 이번 2급 <b>파이썬<\/b> 시험은 여수도 순천도 시험보는데가 없네요 길치가 광주까지 왔어요 초보가 아니지만 길치라 ㅎㅎ 잘도착해 제시간보다 일찍... ",
			"cafename":"여수맘들 모여라~☆",
			"cafeurl":"https:\/\/cafe.naver.com\/yeosumam"
		},
		{
			"title":"<b>파이썬<\/b> 셤보러 출동합니다",
			"link":"http:\/\/cafe.naver.com\/kjkidstudy\/355668",
			"description":"여수서 광주 잘도착요 늦지않게 와서 다행요 ㅎ 3급 <b>파이썬<\/b>붙고나서 이번에 다시접수한 2급 이렇게 멀리서보는지 몰랐네요 이번 2급 <b>파이썬<\/b> 시험은 여수도 순천도 시험보는데가 없네요 길치가 광주까지 왔어요 초보가... ",
			"cafename":"광주 & 전남 체험학습",
			"cafeurl":"https:\/\/cafe.naver.com\/kjkidstudy"
		},
		{
			"title":"[서평 이벤트] &lt;<b>파이썬<\/b> 라이브러리를 활용한 데이터 분석(3판)&gt; 출간 기념 이벤트",
			"link":"http:\/\/cafe.naver.com\/sqlpd\/52561",
			"description":"<b>파이썬<\/b> 판다스 프로젝트 창시자가 직접 설명하는 <b>파이썬<\/b> 라이브러리 사용법 국내 독자들에게 검증된 <b>파이썬<\/b> 데이터 대표 도서가 3판으로 돌아왔습니다. &lt;<b>파이썬<\/b> 라이브러리를 활용한 데이터 분석(3판)... ",
			"cafename":"데이터 전문가 포럼 (빅데이터분석기사...",
			"cafeurl":"https:\/\/cafe.naver.com\/sqlpd"
		},
		{
			"title":"대치-정올준비 <b>파이썬<\/b>으로 해주는 학원이 있을까요?",
			"link":"http:\/\/cafe.naver.com\/mathall\/2623079",
			"description":"근데 아이가 <b>파이썬<\/b>을 너무 좋아해서, 당분간은 <b>파이썬<\/b>으로 수업듣고 싶다고 하구요 아이선생님도 중등 2차 준비가 끝날때까지는 <b>파이썬<\/b>으로 하다가 <b>파이썬<\/b>이 완성형이 되면 씨언어로 넘어가는데 좋겠다 하셔서요.... ",
			"cafename":"[상위1%카페] 대한민국 상위1% 교육정...",
			"cafeurl":"https:\/\/cafe.naver.com\/mathall"
		},
		{
			"title":"씨큐* <b>파이썬<\/b> 과정 많이 어렵나요?",
			"link":"http:\/\/cafe.naver.com\/mathall\/2599471",
			"description":"<b>파이썬<\/b> 수강하러 갔는데 이전과정이 재밌고 기본이되는거라 거기서부터 들으면좋다고 하시네요 아이는 <b>파이썬<\/b>도 들을수있는 레벨이구요 선택가능한 상황인데 기본 반배정은 낮춰서 해주셨어요 그런데 이 반에서 하는... ",
			"cafename":"[상위1%카페] 대한민국 상위1% 교육정...",
			"cafeurl":"https:\/\/cafe.naver.com\/mathall"
		},
		{
			"title":"[서평] 코딩은 처음이라 with <b>파이썬<\/b>",
			"link":"http:\/\/cafe.naver.com\/sqlpd\/51939",
			"description":"<b>파이썬<\/b>이 프로그래밍 언어에서 인기가 많아서 <b>파이썬<\/b>을 배우고자 결심하고, 그래서 좋은 <b>파이썬<\/b> 입문서를 골라서 공부해야겠다고 생각했습니다. 그래서 선택한 &quot;코딩은 처음이라 with <b>파이썬<\/b>&quot;<b>파이썬<\/b> 입문자에게는 더할... ",
			"cafename":"데이터 전문가 포럼 (빅데이터분석기사...",
			"cafeurl":"https:\/\/cafe.naver.com\/sqlpd"
		}
	]
}

검색: 쇼핑(shop)

# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/shop?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 17:16:29 +0900",
	"total":138877,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"잘모이 셀리나 리얼 <b>파이톤<\/b> 뉴 빅 토트백 ZA-4022",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=35683981989",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3568398\/35683981989.20230428033141.jpg",
			"lprice":"151520",
			"hprice":"",
			"mallName":"네이버",
			"productId":"35683981989",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"328 000 잘모이 셀리나 리얼 <b>파이톤<\/b> 스마트백 LTZ-5217",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=39367212252",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3936721\/39367212252.20230413201522.jpg",
			"lprice":"55590",
			"hprice":"",
			"mallName":"네이버",
			"productId":"39367212252",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"잘모이 셀리나 리얼 <b>파이톤<\/b> 미니 토트백 ZA-4023",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=36054367842",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3605436\/36054367842.20221124042000.jpg",
			"lprice":"112910",
			"hprice":"",
			"mallName":"네이버",
			"productId":"36054367842",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"잘모이 버티칼 <b>파이톤<\/b> 나일론백 POW T-1029",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=37511638758",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3751163\/37511638758.20230129165916.jpg",
			"lprice":"53100",
			"hprice":"",
			"mallName":"네이버",
			"productId":"37511638758",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"538 000원 잘모이 라피네 <b>파이톤<\/b> 핸드백 CHK-5093",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=37317524131",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3731752\/37317524131.20230119194337.jpg",
			"lprice":"202670",
			"hprice":"",
			"mallName":"네이버",
			"productId":"37317524131",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"잘모이 셀리나 리얼 <b>파이톤<\/b> 빅 토트백 LTZ-5216",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=29022581772",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_2902258\/29022581772.20210929033957.jpg",
			"lprice":"160190",
			"hprice":"",
			"mallName":"네이버",
			"productId":"29022581772",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"최조가 138 000원 알렌느 미니 <b>파이톤<\/b> 백 P-4342",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=34360827694",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3436082\/34360827694.20220830083257.jpg",
			"lprice":"53820",
			"hprice":"",
			"mallName":"네이버",
			"productId":"34360827694",
			"productType":"1",
			"brand":"",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"고세핸드백 크로스 <b>파이톤<\/b>핸들백 KC1401K",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=36054374343",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3605437\/36054374343.20230107023759.jpg",
			"lprice":"56800",
			"hprice":"",
			"mallName":"네이버",
			"productId":"36054374343",
			"productType":"1",
			"brand":"고세",
			"maker":"고세",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"정상가298 000원 잘모이 조엘 <b>파이톤<\/b>백 POW T-1030",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=39268523291",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3926852\/39268523291.20230409141643.jpg",
			"lprice":"65550",
			"hprice":"",
			"mallName":"네이버",
			"productId":"39268523291",
			"productType":"1",
			"brand":"잘모이",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		},
		{
			"title":"롱샴 르 플리아쥬 <b>파이톤<\/b> 패턴 탑핸들 미니 토트백 그린 HRZ L1500",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=37825134439",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3782513\/37825134439.20230209160839.jpg",
			"lprice":"243000",
			"hprice":"",
			"mallName":"네이버",
			"productId":"37825134439",
			"productType":"1",
			"brand":"롱샴",
			"maker":"",
			"category1":"패션잡화",
			"category2":"여성가방",
			"category3":"토트백",
			"category4":""
		}
	]
}

검색: 백과사전(encyc)

# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("파이썬")
url = "https://openapi.naver.com/v1/search/encyc?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 17:16:37 +0900",
	"total":542,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"<b>파이썬<\/b>",
			"link":"https:\/\/terms.naver.com\/entry.naver?docId=3580815&cid=59088&categoryId=59096",
			"description":"‘<b>파이썬<\/b>’이다. 간결한 문법으로 입문자가 이해하기 쉽고, 다양한 분야에 활용할 수 있기 때문이다. 이 외에도 <b>파이썬<\/b>은 머신러닝, 그래픽, 웹 개발 등 여러 업계에서 선호하는 언어로 꾸준히... ",
			"thumbnail":"http:\/\/openapi-dbscthumb.phinf.naver.net\/4749_000_1\/20170118193349632_0CHSSS5Y6.png\/01_16.png?type=m160_160"
		},
		{
			"title":"<b>파이썬<\/b>",
			"link":"https:\/\/terms.naver.com\/entry.naver?docId=3607513&cid=58598&categoryId=59316",
			"description":" 컴퓨터 언어의 일종으로 간결하고 생산성 높은 프로그래밍 언어.  <b>파이썬<\/b>(python)은 프로그램을 설계하는 프로그래밍 언어 중 하나입니다. 컴퓨터는 0과 1을(이진수) 인식하여 작동하기 때문에 과거에는... ",
			"thumbnail":"http:\/\/openapi-dbscthumb.phinf.naver.net\/4751_000_3\/20170710213206672_OPHLG2VOW.jpg\/992_170575_10034.jpg?type=m160_160"
		},
		{
			"title":"<b>파이썬<\/b>",
			"link":"https:\/\/terms.naver.com\/entry.naver?docId=3533295&cid=40942&categoryId=32838",
			"description":" 오픈소스 고급 프로그래밍 언어 중 하나이다.  C언어를 기반으로 한 오픈소스 고급 프로그래밍 언어로, 1991년 귀도 반 로섬(Guido van Rossum)에 의해 설계 및 개발되었다. <b>파이썬<\/b>이라는 이름은 <b>파이썬<\/b>을... ",
			"thumbnail":""
		},
		{
			"title":"<b>파이썬<\/b>",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%ED%8C%8C%EC%9D%B4%EC%8D%AC",
			"description":"<b>파이썬<\/b> ( 영어: Python )은 1991년 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed)... ",
			"thumbnail":""
		},
		{
			"title":"C<b>파이썬<\/b>",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/C%ED%8C%8C%EC%9D%B4%EC%8D%AC",
			"description":"C<b>파이썬<\/b> (CPython)은 <b>파이썬<\/b> 프로그래밍 언어의 참조 구현체이다. C와 <b>파이썬<\/b>으로 작성된 C<b>파이썬<\/b>은 이 언어에 가장 널리 사용되는 기본 구현체이다. C<b>파이썬<\/b>은 인터프리트 과정 이전에 <b>파이썬<\/b> 코드를... ",
			"thumbnail":""
		},
		{
			"title":"바이오<b>파이썬<\/b>",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%EB%B0%94%EC%9D%B4%EC%98%A4%ED%8C%8C%EC%9D%B4%EC%8D%AC",
			"description":"바이오<b>파이썬<\/b> (Biopython) 프로젝트는 분자생물학 계산에 자유롭게 사용하기 위한 <b>파이썬<\/b> 라이브러리 구축 프로젝트이다. 같이 보기 바이오자바 바이오펄 외부 링크 biopython.org",
			"thumbnail":""
		},
		{
			"title":"<b>파이썬<\/b>애니웨어",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%95%A0%EB%8B%88%EC%9B%A8%EC%96%B4",
			"description":"<b>파이썬<\/b>애니웨어 (PythonAnywhere)는 <b>파이썬<\/b> 프로그래밍 언어 기반의 웹 호스팅 서비스(서비스형 플랫폼)이자 온라인 통합 개발 환경이다. 2012년에 Giles Thomas와 Robert Smithson이 설립했으며 서버... ",
			"thumbnail":""
		},
		{
			"title":"<b>파이썬<\/b>의 역사",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%98_%EC%97%AD%EC%82%AC",
			"description":"프로그래밍 언어 <b>파이썬<\/b>은 1980년대 말에 구상되었으며 그 구현체는 1989년 12월 예외 처리가 가능하고 아메바 운영 체제와 통신이 가능한 ABC의 후속 프로그래밍 언어로서 CWI(Centrum Wiskunde... ",
			"thumbnail":""
		},
		{
			"title":"아나콘다 (<b>파이썬<\/b> 배포판)",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4_(%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EB%B0%B0%ED%8F%AC%ED%8C%90)",
			"description":"아나콘다 (Anaconda)는 패키지 관리와 디플로이를 단순케 할 목적으로 과학 계산(데이터 과학, 기계 학습 애플리케이션, 대규모 데이터 처리, 예측 분석 등)을 위한 <b>파이썬<\/b>과 R 프로그래밍 언어의 자유... ",
			"thumbnail":""
		},
		{
			"title":"<b>파이썬<\/b> 소프트웨어 재단",
			"link":"https:\/\/ko.wikipedia.org\/wiki\/%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9E%AC%EB%8B%A8",
			"description":"<b>파이썬<\/b> 소프트웨어 재단 (Python Software Foundation, PSF)은 <b>파이썬<\/b> 프로그래밍 언어에 헌신하는 비영리 단체로서, 2001년 3월 6일 런칭했다. 이 단체의 임무는 <b>파이썬<\/b> 공동체의 개발을 발전시키고... ",
			"thumbnail":""
		}
	]
}

3. 상품 검색

  • "몰스킨"
# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request

client_id = "KSUSApCvsouQz27rpoBk"
client_secret = "mJ0icOIiS6"

encText = urllib.parse.quote("몰스킨")
url = "https://openapi.naver.com/v1/search/shop?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
{
	"lastBuildDate":"Sun, 14 May 2023 20:12:40 +0900",
	"total":28130,
	"start":1,
	"display":10,
	"items":[
		{
			"title":"<b>몰스킨<\/b> 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=82526953942",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_8252695\/82526953942.7.jpg",
			"lprice":"28800",
			"hprice":"",
			"mallName":"베스트펜",
			"productId":"82526953942",
			"productType":"2",
			"brand":"몰스킨",
			"maker":"",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"노트\/수첩",
			"category4":"노트"
		},
		{
			"title":"<b>몰스킨<\/b> 클래식노트 플레인 소프트커버 포켓 Pocket",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=30656121375",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3065612\/30656121375.20220124025746.jpg",
			"lprice":"21840",
			"hprice":"",
			"mallName":"네이버",
			"productId":"30656121375",
			"productType":"1",
			"brand":"몰스킨",
			"maker":"",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"노트\/수첩",
			"category4":"노트"
		},
		{
			"title":"르몽생미셸 지니언 워크자켓 블루 <b>몰스킨<\/b> 프렌치 워크자켓",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=83453383930",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_8345338\/83453383930.2.jpg",
			"lprice":"344000",
			"hprice":"",
			"mallName":"스프링스트릿 마켓",
			"productId":"83453383930",
			"productType":"2",
			"brand":"",
			"maker":"",
			"category1":"패션의류",
			"category2":"남성의류",
			"category3":"재킷",
			"category4":""
		},
		{
			"title":"[리바이스]1930s 아인슈타인 A-1 워커자켓 헤비웨이트<b>몰스킨<\/b> 21oz",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=85877819585",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_8587781\/85877819585.jpg",
			"lprice":"125000",
			"hprice":"",
			"mallName":"독집사",
			"productId":"85877819585",
			"productType":"2",
			"brand":"리바이스",
			"maker":"리바이스",
			"category1":"패션의류",
			"category2":"남성의류",
			"category3":"재킷",
			"category4":""
		},
		{
			"title":"<b>몰스킨<\/b> <b>Moleskine<\/b> 2023년 데일리 플래너 12M 포켓 하드 커버 3 5 x 5 5",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=36557437115",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3655743\/36557437115.20221216090445.jpg",
			"lprice":"21250",
			"hprice":"",
			"mallName":"네이버",
			"productId":"36557437115",
			"productType":"1",
			"brand":"몰스킨",
			"maker":"",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"다이어리\/플래너",
			"category4":"다이어리"
		},
		{
			"title":"올젠 <b>몰스킨<\/b> 가공 가을 팬츠 ZOC3PP1312",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=38199797480",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3819979\/38199797480.20230224144338.jpg",
			"lprice":"43070",
			"hprice":"",
			"mallName":"네이버",
			"productId":"38199797480",
			"productType":"1",
			"brand":"올젠",
			"maker":"",
			"category1":"패션의류",
			"category2":"남성의류",
			"category3":"바지",
			"category4":""
		},
		{
			"title":"<b>몰스킨<\/b> 2023위클리 사파이어블루 하드 L",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=32288589870",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3228858\/32288589870.20230104072413.jpg",
			"lprice":"33300",
			"hprice":"",
			"mallName":"네이버",
			"productId":"32288589870",
			"productType":"1",
			"brand":"몰스킨",
			"maker":"몰스킨",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"다이어리\/플래너",
			"category4":"다이어리"
		},
		{
			"title":"2023년 <b>몰스킨<\/b> 하드커버 다이어리(데일리, 위클리, 한정판)",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=84904377827",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_8490437\/84904377827.1.jpg",
			"lprice":"20000",
			"hprice":"",
			"mallName":"안네프랑크",
			"productId":"84904377827",
			"productType":"2",
			"brand":"몰스킨",
			"maker":"몰스킨",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"다이어리\/플래너",
			"category4":"다이어리"
		},
		{
			"title":"<b>몰스킨<\/b> 클래식노트 익스팬디드-도트 하드 L",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=34980815194",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3498081\/34980815194.20220930130744.jpg",
			"lprice":"37250",
			"hprice":"",
			"mallName":"네이버",
			"productId":"34980815194",
			"productType":"1",
			"brand":"몰스킨",
			"maker":"몰스킨",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"노트\/수첩",
			"category4":"노트"
		},
		{
			"title":"<b>몰스킨<\/b> 클래식노트 룰드 머틀그린 소프트커버 포켓 Pocket",
			"link":"https:\/\/search.shopping.naver.com\/gate.nhn?id=37890675675",
			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3789067\/37890675675.20230212031911.jpg",
			"lprice":"22180",
			"hprice":"",
			"mallName":"네이버",
			"productId":"37890675675",
			"productType":"1",
			"brand":"",
			"maker":"",
			"category1":"생활\/건강",
			"category2":"문구\/사무용품",
			"category3":"다이어리\/플래너",
			"category4":"다이어리"
		}
	]
}

(1) gen_search_url()

encText = urllib.parse.quote("몰스킨")

url = "https://openapi.naver.com/v1/search/shop?query=" + encText # JSON 결과

def gen_search_url(api_node, search_text, start_num, disp_num):
    base = "https://openapi.naver.com/v1/search"
    node = "/" + api_node + ".json"
    param_query = "?query=" + urllib.parse.quote(search_text)
    param_start = "&start=" + str(start_num)
    param_disp = "&display=" + str(disp_num)
    
    return base + node + param_query + param_start + param_disp
gen_search_url("shop", "TEST", 10, 3)
'https://openapi.naver.com/v1/search/shop.json?query=TEST&start=10&display=3'

(2) get_result_onepage()

import json
import datetime

def get_result_onepage(url):
    request = urllib.request.Request(url)
    request.add_header("X-Naver-Client-Id",client_id)
    request.add_header("X-Naver-Client-Secret",client_secret)
    response = urllib.request.urlopen(request)
    print("[%s] Url Request Success" % datetime.datetime.now())
    return json.loads(response.read().decode("utf-8"))
datetime.datetime.now()
datetime.datetime(2023, 5, 14, 23, 5, 1, 944486)
url = gen_search_url("shop", "몰스킨", 1, 5) # 첫번째 페이지부터 시작하고 5개를 보여주세요
one_result = get_result_onepage(url)
[2023-05-14 23:05:04.198883] Url Request Success
one_result # json 파일 형태가 딕셔너리로 담겨 있음. 키, 밸류
{'lastBuildDate': 'Sun, 14 May 2023 23:05:03 +0900',
 'total': 28138,
 'start': 1,
 'display': 5,
 'items': [{'title': '<b>몰스킨</b> 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플',
   'link': 'https://search.shopping.naver.com/gate.nhn?id=82526953942',
   'image': 'https://shopping-phinf.pstatic.net/main_8252695/82526953942.7.jpg',
   'lprice': '28800',
   'hprice': '',
   'mallName': '베스트펜',
   'productId': '82526953942',
   'productType': '2',
   'brand': '몰스킨',
   'maker': '',
   'category1': '생활/건강',
   'category2': '문구/사무용품',
   'category3': '노트/수첩',
   'category4': '노트'},
  {'title': '<b>몰스킨</b> 클래식노트 플레인 소프트커버 포켓 Pocket',
   'link': 'https://search.shopping.naver.com/gate.nhn?id=30656121375',
   'image': 'https://shopping-phinf.pstatic.net/main_3065612/30656121375.20220124025746.jpg',
   'lprice': '21840',
   'hprice': '',
   'mallName': '네이버',
   'productId': '30656121375',
   'productType': '1',
   'brand': '몰스킨',
   'maker': '',
   'category1': '생활/건강',
   'category2': '문구/사무용품',
   'category3': '노트/수첩',
   'category4': '노트'},
  {'title': '르몽생미셸 지니언 워크자켓 블루 <b>몰스킨</b> 프렌치 워크자켓',
   'link': 'https://search.shopping.naver.com/gate.nhn?id=83453383930',
   'image': 'https://shopping-phinf.pstatic.net/main_8345338/83453383930.2.jpg',
   'lprice': '344000',
   'hprice': '',
   'mallName': '스프링스트릿 마켓',
   'productId': '83453383930',
   'productType': '2',
   'brand': '',
   'maker': '',
   'category1': '패션의류',
   'category2': '남성의류',
   'category3': '재킷',
   'category4': ''},
  {'title': '[리바이스]1930s 아인슈타인 A-1 워커자켓 헤비웨이트<b>몰스킨</b> 21oz',
   'link': 'https://search.shopping.naver.com/gate.nhn?id=85877819585',
   'image': 'https://shopping-phinf.pstatic.net/main_8587781/85877819585.jpg',
   'lprice': '125000',
   'hprice': '',
   'mallName': '독집사',
   'productId': '85877819585',
   'productType': '2',
   'brand': '리바이스',
   'maker': '리바이스',
   'category1': '패션의류',
   'category2': '남성의류',
   'category3': '재킷',
   'category4': ''},
  {'title': '<b>몰스킨</b> <b>Moleskine</b> 2023년 데일리 플래너 12M 포켓 하드 커버 3 5 x 5 5',
   'link': 'https://search.shopping.naver.com/gate.nhn?id=36557437115',
   'image': 'https://shopping-phinf.pstatic.net/main_3655743/36557437115.20221216090445.jpg',
   'lprice': '21220',
   'hprice': '',
   'mallName': '네이버',
   'productId': '36557437115',
   'productType': '1',
   'brand': '몰스킨',
   'maker': '',
   'category1': '생활/건강',
   'category2': '문구/사무용품',
   'category3': '다이어리/플래너',
   'category4': '다이어리'}]}
one_result["items"][0]["title"]
'<b>몰스킨</b> 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플'
one_result["items"][0]["link"]
'https://search.shopping.naver.com/gate.nhn?id=82526953942'
one_result["items"][0]["lprice"]
'28800'
one_result["items"][0]["mallName"]
'베스트펜'

(3) get_fields()

one_result["items"][0]
{'title': '<b>몰스킨</b> 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플',
 'link': 'https://search.shopping.naver.com/gate.nhn?id=82526953942',
 'image': 'https://shopping-phinf.pstatic.net/main_8252695/82526953942.7.jpg',
 'lprice': '28800',
 'hprice': '',
 'mallName': '베스트펜',
 'productId': '82526953942',
 'productType': '2',
 'brand': '몰스킨',
 'maker': '',
 'category1': '생활/건강',
 'category2': '문구/사무용품',
 'category3': '노트/수첩',
 'category4': '노트'}
import pandas as pd

def get_fields(json_data):
    title = [delete_tag(each["title"]) for each in json_data["items"]]
    link = [each["link"] for each in json_data["items"]]
    lprice = [each["lprice"] for each in json_data["items"]]
    mall_name = [each["mallName"] for each in json_data["items"]]
    
    result_pd = pd.DataFrame({
        "title" : title,
        "link" : link,
        "lprice" : lprice,
        "mall" : mall_name        
    }, columns=["title", "lprice", "link", "mall"])
    return result_pd
    

(4) delete_tag()

def delete_tag(input_str):
    input_str = input_str.replace("<b>", "")
    input_str = input_str.replace("</b>", "")
    return input_str
get_fields(one_result)
title lprice link mall
0 몰스킨 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플 28800 https://search.shopping.naver.com/gate.nhn?id=... 베스트펜
1 몰스킨 클래식노트 플레인 소프트커버 포켓 Pocket 21840 https://search.shopping.naver.com/gate.nhn?id=... 네이버
2 르몽생미셸 지니언 워크자켓 블루 몰스킨 프렌치 워크자켓 344000 https://search.shopping.naver.com/gate.nhn?id=... 스프링스트릿 마켓
3 [리바이스]1930s 아인슈타인 A-1 워커자켓 헤비웨이트몰스킨 21oz 125000 https://search.shopping.naver.com/gate.nhn?id=... 독집사
4 몰스킨 Moleskine 2023년 데일리 플래너 12M 포켓 하드 커버 3 5 x... 21220 https://search.shopping.naver.com/gate.nhn?id=... 네이버
url = gen_search_url("shop", "몰스킨", 1, 5)
json_result = get_result_onepage(url)
pd_result = get_fields(json_result)
[2023-05-14 23:05:46.274904] Url Request Success
pd_result
title lprice link mall
0 몰스킨 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플 28800 https://search.shopping.naver.com/gate.nhn?id=... 베스트펜
1 몰스킨 클래식노트 플레인 소프트커버 포켓 Pocket 21840 https://search.shopping.naver.com/gate.nhn?id=... 네이버
2 르몽생미셸 지니언 워크자켓 블루 몰스킨 프렌치 워크자켓 344000 https://search.shopping.naver.com/gate.nhn?id=... 스프링스트릿 마켓
3 [리바이스]1930s 아인슈타인 A-1 워커자켓 헤비웨이트몰스킨 21oz 125000 https://search.shopping.naver.com/gate.nhn?id=... 독집사
4 몰스킨 Moleskine 2023년 데일리 플래너 12M 포켓 하드 커버 3 5 x... 21220 https://search.shopping.naver.com/gate.nhn?id=... 네이버

(5) actMain()

for n in range(1, 1000, 100):
    print(n)
1
101
201
301
401
501
601
701
801
901
result_mol = []

for n in range(1, 1000, 100):
    url = gen_search_url("shop", "몰스킨", n, 100)
    json_result = get_result_onepage(url)
    pd_result = get_fields(json_result)
    
    result_mol.append(pd_result)
    
result_mol = pd.concat(result_mol)
[2023-05-14 23:06:05.483046] Url Request Success
[2023-05-14 23:06:05.776533] Url Request Success
[2023-05-14 23:06:06.055697] Url Request Success
[2023-05-14 23:06:06.321476] Url Request Success
[2023-05-14 23:06:06.584334] Url Request Success
[2023-05-14 23:06:06.865843] Url Request Success
[2023-05-14 23:06:07.154774] Url Request Success
[2023-05-14 23:06:07.421057] Url Request Success
[2023-05-14 23:06:07.701893] Url Request Success
[2023-05-14 23:06:07.979454] Url Request Success
result_mol.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1000 entries, 0 to 99
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   title   1000 non-null   object
 1   lprice  1000 non-null   object
 2   link    1000 non-null   object
 3   mall    1000 non-null   object
dtypes: object(4)
memory usage: 39.1+ KB
result_mol.reset_index(drop=True, inplace=True)
result_mol.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   title   1000 non-null   object
 1   lprice  1000 non-null   object
 2   link    1000 non-null   object
 3   mall    1000 non-null   object
dtypes: object(4)
memory usage: 31.4+ KB
result_mol.head()
title lprice link mall
0 몰스킨 노트 가죽 하드커버 감성 고급 업무용 이쁜 심플 28800 https://search.shopping.naver.com/gate.nhn?id=... 베스트펜
1 몰스킨 클래식노트 플레인 소프트커버 포켓 Pocket 21840 https://search.shopping.naver.com/gate.nhn?id=... 네이버
2 르몽생미셸 지니언 워크자켓 블루 몰스킨 프렌치 워크자켓 344000 https://search.shopping.naver.com/gate.nhn?id=... 스프링스트릿 마켓
3 [리바이스]1930s 아인슈타인 A-1 워커자켓 헤비웨이트몰스킨 21oz 125000 https://search.shopping.naver.com/gate.nhn?id=... 독집사
4 몰스킨 Moleskine 2023년 데일리 플래너 12M 포켓 하드 커버 3 5 x... 21220 https://search.shopping.naver.com/gate.nhn?id=... 네이버
result_mol.tail()
title lprice link mall
995 몰스킨무료각인 까이에 스케어드 -크래프트 39020 https://search.shopping.naver.com/gate.nhn?id=... 네이버
996 몰스킨무료각인 플레인 노트 하드 라지 -스칼렛레드 33880 https://search.shopping.naver.com/gate.nhn?id=... 네이버
997 몰스킨무료각인 도트 노트 소프트 A4 -블랙 45350 https://search.shopping.naver.com/gate.nhn?id=... 네이버
998 Moleskine Cahier 노트북 3개 x-large 62500 https://search.shopping.naver.com/gate.nhn?id=... 네이버
999 몰스킨 무료각인 룰드 노트 하드 A4 -블랙 46170 https://search.shopping.naver.com/gate.nhn?id=... 네이버
result_mol.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   title   1000 non-null   object
 1   lprice  1000 non-null   object
 2   link    1000 non-null   object
 3   mall    1000 non-null   object
dtypes: object(4)
memory usage: 31.4+ KB
result_mol["lprice"] = result_mol["lprice"].astype("float")
result_mol.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   title   1000 non-null   object 
 1   lprice  1000 non-null   float64
 2   link    1000 non-null   object 
 3   mall    1000 non-null   object 
dtypes: float64(1), object(3)
memory usage: 31.4+ KB

(5) to_excel()

!pip install xlsxwriter
Active code page: 65001
Collecting xlsxwriter
  Downloading XlsxWriter-3.1.0-py3-none-any.whl (152 kB)
     ---------------------------------------- 0.0/152.7 kB ? eta -:--:--
     -------------------------------------- 152.7/152.7 kB 4.5 MB/s eta 0:00:00
Installing collected packages: xlsxwriter
Successfully installed xlsxwriter-3.1.0
writer = pd.ExcelWriter("../data/06_molskin_diary_in_naver_shop.xlsx", engine="xlsxwriter")
result_mol.to_excel(writer, sheet_name="Sheet1")

workbook = writer.book
worksheet = writer.sheets["Sheet1"]
worksheet.set_column("A:A", 4)
worksheet.set_column("B:B", 60)
worksheet.set_column("C:C", 10)
worksheet.set_column("D:D", 10)
worksheet.set_column("E:E", 50)
worksheet.set_column("F:F", 10)

worksheet.conditional_format("C2:C1001", {"type": "3_color_scale"})
writer.save()
C:\Users\hsty9\AppData\Local\Temp\ipykernel_7880\475764672.py:14: FutureWarning: save is not part of the public API, usage can give unexpected results and will be removed in a future version
  writer.save()
ls "../data/06_molskin_diary_in_naver_shop.xlsx"
Active code page: 65001
 Volume in drive C has no label.
 Volume Serial Number is E650-B68B

 Directory of C:\Users\hsty9\Documents\ds_study\data

2023-05-14  오후 11:19            73,921 06_molskin_diary_in_naver_shop.xlsx
               1 File(s)         73,921 bytes
               0 Dir(s)  165,365,219,328 bytes free

(6) 시각화

!pip install matplotlib
Active code page: 65001
Requirement already satisfied: matplotlib in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (3.7.1)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (3.0.9)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (1.4.4)
Requirement already satisfied: numpy>=1.20 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (1.24.3)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (1.0.5)
Requirement already satisfied: packaging>=20.0 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (23.0)
Requirement already satisfied: cycler>=0.10 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (4.25.0)
Requirement already satisfied: pillow>=6.2.0 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (9.4.0)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from matplotlib) (2.8.2)
Requirement already satisfied: six>=1.5 in c:\users\hsty9\miniconda3\envs\ds_study\lib\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
%%writefile ./set_matplotlib_hangul.py

import platform
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc

path = "c:/Windows/Fonts/malgun.ttf"

if platform.system() == "Windows":
    print("Hangul OK in your windows")
    font_name = font_manager.FontProperties(fname=path).get_name()
    rc("font",family=font_name)
else:
    print("buy windows")
plt.rcParams["axes.unicode_minus"]=False
Writing ./set_matplotlib_hangul.py
import set_matplotlib_hangul
Hangul OK in your windows
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(15, 6))
sns.countplot(
    x=result_mol["mall"],
    data=result_mol,
    palette="RdYlGn",
    order=result_mol["mall"].value_counts().index
)
plt.xticks(rotation=90)
plt.show()

이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
데이터 꿈나물

0개의 댓글