15기 데이터 취업 스쿨 / 32일차 스터디노트 / Naver API

구명모·2023년 6월 7일

EDA

목록 보기
12/15
post-thumbnail

● 오늘의 공부

  • 네이버 API 사용

♟️네이버 API 사용 등록

  • 네이버 개발자 센터
  • https://developers.naver.com/main/
  • Application
    • 어플리케이션 등록
    • 어플리케이션 이름 ds_study
    • 사용 API
      • 검색
      • 데이터랩(검색어트랜드)
      • 데이터랩(쇼핑인사이트)
    • 환경추가

♟️네이버 API 사용하기

개발자 센터에서 등록을 하고 나면 Documents 창에서 여러가지 기능들을 쓸 수 있다.
그 중에서 검색을 들어가서 예제 API 들을 본다. 우리는 Python을 쓰고 있기 때문에 Python 예제 API를 복사해서 Jupyter에 옮겨준 후 그대로 실행해본다.
블로그 예제이기 때문에 블로그들이 나온다.

url 코드중 query 앞에 지금은 blog라고 쓰여져있다. 저 부분을 book으로 바꾸면 파이썬에 관한 책들이 검색이 된다. 즉 query 앞에 내용을 바꾸어서 검색 내용을 바꿀수 있다. 바꿀 수 있는 것들에 대표적으로 영화, 카페, 쇼핑, 백과사전 등이 있다.

상품 검색
네이버 API 코드에서 몰스킨이라는 것을 shop이라는 태그로 검색을 한다.

get_search_url()

shop 검색 API에는 query, display, start, 그리고 node를 입력해야 한다. 어디에 뭐를 검색할지, 몇개를 표시할지 등을 함수로 만들고 입력을 하면 결과값이 나온다.

get_result_onpage()

마찬가지로 아까와 똑같이 url 요청과 url 응답 코드 함수를 만든다. 함수의 마지막 부분을 Url Request Success와 datetime.datetime.now()로 잡은 현재시간이 나오고 정상적으로 작동된 모습이다.


출력된 값은 리스트형태로 나와서 슬라이싱이 가능하다. 그리고 json 파일은 딕셔너리 형태로 되어있기 때문에 따로 호출도 가능하다

get_fields()


get_fields 에서는 DataFrame으로 만드는 함수를 만들 것이다. 반복문을 이용해서 데이터들을 뽑아주고 pandas.DataFrame을 이용해 columns, index를 넣어준다.

delete_tag()

출력된 DataFrame을 보면 html 코드가 붙어있는 것을 볼 수 있다. delete_tag() 함수에서 html 코드를 없애주는 함수를 만들 것이다.

delete_tag()는 쉽다. html < b > 코드가 열릴때 한번, 닫힐 때 한번 나와서 총 두번 없어지게 만들게 replace로 해주면 된다. 그리고 이 함수를 get_fields에서 title부분에 적용시키면 html 코드가 다 없어진걸 볼 수 있다.

actMain()


이제는 반복문을 이용해서 데이터를 추가한다. 그리고 가격은 숫자로 바꿔준다.

to_excel()



엑셀로 저장을 해주고 엑셀을 다시 시각화를 한다.

profile
데린이

0개의 댓글