[7주차] EDA_12

심하림·2023년 6월 15일
0

EDA

목록 보기
13/14

후기
학습 속도를 위해 영상강의를 듣고 진도를 나가고 있지만, 문제를 받았을때 해결할 수 있는 능력은 아직 제로라고 생각한다. 수업을 아예 이해하지 못하고 넘어가는 경우들도 너무나 많다.

06. Naver API

1. 네이버 API 사용 등록

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

  • 아래정보 불러온 주소 : https://developers.naver.com/docs/serviceapi/search/blog/blog.md#python # 개발가이드

  • urllib : http 프로토콜에 따라서 서버의 요청/응답을 처리하기 위한 모듈

  • urllib.request : 클라이언트의 요청을 처리하는 모듈

  • urllib.parse : url 주소에 대한 분석

  • 예제

  • 다양한 검색어 사용법

  • 블로그(blog)

  • 책(book)

  • 영화(movie)

  • 카페(cafearticle)

  • 쇼핑(shop)

  • 백과사전(encyc)

3. 상품 검색

  • "몰스킨"

  • API 오류코드

  • 분석 진행 순서

  • API이용 상품 검색을 위한 import

# 절대 틀려선 안되는 코드
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)

(1) gen_search_url()

encText = urllib.parse.quote("몰스킨")
url = "https://openapi.naver.com/v1/search/shop?query=" + encText # JSON 결과
  • 함수선언 / C코드 작성

# api_node : 무엇을 이용한 검색을 할 것인가(book, shop, encyc...)
# search_text : 어떤단어를 검색할 것인가
# start_num : 몇번째부터 검색할 것인가
# disp_num : 몇개를 출력할 것인가

(2) get_result_onepage()

  • 추출한 자료 정리를 위한 import

  • datetime.datetime.now()

  • 검색어 "몰스킨" shop의 자료검색 첫번째자료 5개 추출

  • json파일형태{딕셔너리}

  • 결과의 "item"이란 이름출력 -> 그안에 idx[0]번의 내용만 출력 -> 그안에 ("title"만 출력 / "link"만 출력 / "lprice"만 출력 / "mallName"만 출력)

(3) get_fields()

  • pandas작업을 위한 import

  • DataFrame

(4) delete_tag() - 불필요한 자료들 삭제 재출력

  • del 함수 "title"에 적용

현재상황

(5) actMain()

  • for문 테스트 : 1부터 1000까지 100의 단위로 출력
  • concat()

    • 형식이 동일하고 연달아 붙이기만 하면 될 때는 concat()
    • 구조가 동일한 여러문자열을 하나의문자열로 합치는 함수
  • 다량의 자료 합치기 / index 재정렬

  • 가격 type object -> float

(5) to_excel()

  • 파일을 엑셀로 변환해주는 모듈 설치

     !pip install xlsxwriter
  • 엑셀파일로 만들어내기

(6) 시각화

  • 시각화를 위한 import / 한글대응

  • countplot사용 시각화

오류코드

  • 오류 : countplot()의 x,y 값의 문제 추정

  • 해결 : result_mol["mall"] -> x = "mall" 변경

0개의 댓글