본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

자가동력미션 01. 집에 있는 책들을 데이터 베이스화 하기 2- 2) 관련 정보 크롤링 하려다가 2-3) API 활용하기

by 청춘만화 2019. 3. 18.

자가동력미션 01. 집에 있는 책들을 데이터 베이스화 하기


2. 코딩하기 

2- 2) 크롤링해오기 


1. 목표 

데이터 베이스에 기록된 제목을 기반으로, 크롤링을 통해 원하는 값들을 불러온다 


2. 실행계획

1) 리서치 

- Snoopy 를 이용한 크롤러 http://happycgi.com/16469

2) 코딩 

- 참고 블로그 예제 응용  : 코드   snoopyTest.php

3) 이슈? 발생 

- 음.. 사실 이런 결과를 원한건 아니었다. 

- 나는 내가 원하는 키워드에 해당하는 상세 내역을 받아오길 원했다..



2- 3) 검색 API 이용하기


1. 목표 수정

 데이터 베이스에 기록된 제목을 기반으로, 검색 API를 이용해 통해 원하는 값들을 불러온다 


2. 실행계획

1) 리서치 

(1) 공공데이터포털 

   -> 내가 설정했던 컬럼 중 가격 정보가 없고 분류명 대신 주제명이라고 있는데... 해석이 조금 다른 것 같다. 

 다음에 만나요 ~



(2) 네이버 검색 API 중 책 부분 

   -> 원하는 정보가 모두 있다. 


* 참고로 카카오에서도 API를 제공한다. 하지만... 새로 가입하기가 번거로워서 걍 네이버로 한다.

* 또한 각 온라인 서점에서도 API를 제공한다! 어찌보면 오리지널? 조금 더 원천적인 데이터일 수 있겠다. 

게다가, 각 온라인 서점의 API를 통해 제공된 페이지에서 누군가가 책을 구매하면 ^^ 

구매금액의 일정 %를 지급해준다~ 대박!

기본 테스트가 종료되면 2차 자가동력으로다가 한번 해볼만할 것 같다 ^^ 


2) 네이버 개발자 설정    https://developers.naver.com/main/

(1) API 이용을 위해 애플리케이션을 등록하고 

 

* 다음 페이지에서 적용 URL(도메인) 주소 적으라고 하는데.. 개인 도메인 적으셔도되도

걍 로컬호스트 적으셔도 됩니다.


(2) API 설정 페이지에서 

새로 생성된 어플리케이션을 클릭하고 들어가면

$client_id = "******"     정보와      $client_secret = "******"  정보을 얻을 수 있습니다.


3)  코딩 

원하는 값들을 배열로 불러올 수 있었습니다.   (소스 :  book_NaverAPI.php  )



2- 3) XML을 HTML로 가져오기 


1. 목표

 xml 로 작성된 태그를 html 형태로 재구성한다.  여기가 가장 힘들었다... ㅜㅜ 

너무 당연한 내용이라 다루는 사람이 많지 않은가 보다.. 초보들은 이런 부분이 가장 어려운데.. ㅜㅜ


2. 실행계획

1) 리서치 

silqia님의 공부블로그  https://chamggae.tistory.com/78


2) 코딩 

위 블로그를 참고하여 xml을 파싱 ~ 해서 table에 안착 성공~    (소스 :  book_NaverAPI_parseXML.php

3) 리뷰

작업을 하다보니, 위 블로그를 참조하다보니.. xml보다 json으로 가져오는 것이 더 작업에 수월할 것 같다. 

xml은 매번 A -> A' -> a 와 같이 선언을 개별적으로 해서 변수에 저장해야하지만 

json은 a,b,c..들이 각각의 오브젝트로 만들어 쓸 수 있어 번거로움이 덜 한것 같다. 

다음 예제부터는 json으로 바꿔서 진행해야겠다. 


댓글