프로젝트3 : 웹데이터 분석 4일차(~7)

박영선·2023년 5월 15일
0

네이버 API 등록

네이버 개발자센터

네이버 API 사용

블로그 검색결과

책 검색결과

몰스킨 데이터 시각화

import os
import sys
import urllib.request
client_id = "mYWp2bUuL55dr7CC21aB"
client_secret = "cNe3hI2Kd0"
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)

*참고
https://developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91

gen_search_url

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 = "&disp=" + str(disp_num)
    
    return base + node + param_query + param_start + param_disp

gen_result_onepage()

import json
import datetime

def get_result_onpage(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"))

dataframe 만들기

actMain


엑셀로 내보내기

!pip install xlsxwriter

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()

profile
데이터분석 공부 시작했습니다

0개의 댓글