Python

Open API_Naver

2020. 6. 10. 11:40

WEB-API(Application Programming Interface)

  • 웹서비스의 정보를 웹사이트를 통해 제공 : 크롤링으로 수집(비공식 수집)

  • 웹API : AIP 정보로 수집(공식적으로 수집)

네이버 API

  1. 네이버 가입 https://www.naver.com

  2. 앱 ID 등록(개발자 계정) https://developers.naver.com/

  • 서비스API > 검색 > OpenAPI 신청

  • Client ID / Client Secret 발급 확인

검색 API 활용

  • 책, 뉴스, 블로그, 카페 글 수집

c_id = '__User_id__'
c_secret = '__User_secret__'
# naver api 개발 가이드 기본 코드
import os
import sys
import urllib.request
client_id = c_id
client_secret = c_secret
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)
import os
import sys
import requests
import datetime
import time
# json() 으로 만든 기본형태
url = 'https://openapi.naver.com/v1/search/shop.json'
params = {'query':'파이썬', 'display':'10', 'start':'1', 'sort':'date'}
headers = {
    'X-Naver-Client-Id':client_id, 'X-Naver-Client-Secret':client_secret
}
response = requests.get(url, headers=headers, params=params)
response.status_code
200
js = response.json()
for i in js['items']:
    title = i['title']
    print(title)
20SS[로트레쇼즈]<b>PYTHON</b> PRINT SANDALS _ LDL054 95CP2911 _ Brown/Black
20SS[스탠드]<b>PYTHON</b> PRINT SASHA OVERCOAT _ 60853 8674 _ Yellow/Black
(신세계 파주 힐링그래스) (파주점)<b>파이톤</b>패턴 천연소가죽 여성 숄더백   크로스백 - HGHB5209 레드
(신세계 파주 힐링그래스) (파주점)<b>파이톤</b>패턴 천연소가죽 여성 숄더백   크로스백 - HGHB5209 핑크
(신세계 파주 힐링그래스) (파주점)<b>파이톤</b>패턴 천연소가죽 여성 숄더백   크로스백 - HGHB5209 블루
[롯데아이몰][벤시몽(잡화)] 벤시몽 가방 <b>PYTHON</b> LINE MINI COINS WALLET BS9FWL570YL -
<b>파이톤</b> 포켓 라운드 원피스 20D608A 빅사이즈 여성
20SS[파리스 텍사스]<b>PYTHON</b> PRINT SANDALS _ PX215 XMP01 _ Beige/Brown
[MSGM]<b>PYTHON</b>-EMBOSSED SKIRT _ 2641MDD10 195101 _ Black
[파주점][신세계 파주 힐링그래스]<b>파이톤</b>패턴 천연소가죽 여성 숄더백 &amp; 크로스백 - HGHB5209 핑크
# xml 으로 만든 기본형태
url = 'https://openapi.naver.com/v1/search/blog.xml'
params = {'query':'파이썬', 'display':'10', 'start':'1', 'sort':'date'}
headers = {
    'X-Naver-Client-Id':client_id, 'X-Naver-Client-Secret':client_secret
}
response = requests.get(url, headers=headers, params=params)
response.status_code
200
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text)
book_one = soup.select_one('item')
book_one
<item><title>2020/6/9 서른, 자기계발 하기 딱 좋은 나이 * 1일 1성장일지... </title><link/>https://blog.naver.com/angelina9673?Redirect=Log&amp;logNo=221995923177<description>눈뜨스로 시작했고, 헤드스페이스의 Kindness 프로그램을 마쳤다 (10분 명상) #코딩공부 #&lt;b&gt;파이썬&lt;/b&gt; 업무를 시작하기 전에 한 시간 정도 코딩 공부를 했다. 김왼손의 4시간 분량의 입문 &lt;b&gt;파이썬&lt;/b&gt; 코스를 7일동안 공부해서... </description><bloggername>예리로그</bloggername><bloggerlink>https://blog.naver.com/angelina9673</bloggerlink><postdate>20200610</postdate></item>
book_one.select_one('title').text
'2020/6/9 서른, 자기계발 하기 딱 좋은 나이 * 1일 1성장일지... '
title_b = book_one.select_one('title').text
title = title_b.replace('<b>','').replace('</b>','')
bloggername = book_one.select_one('bloggername').text
bloggerlink = book_one.select_one('bloggerlink').text
print(title, bloggername, bloggerlink)
2020/6/9 서른, 자기계발 하기 딱 좋은 나이 * 1일 1성장일지...  예리로그 https://blog.naver.com/angelina9673
book_all = soup.select('item')
for book_one in book_all:
    title_b = book_one.select_one('title').text
    title = title_b.replace('<b>','').replace('</b>','')
    bloggername = book_one.select_one('bloggername').text
    bloggerlink = book_one.select_one('bloggerlink').text
    print(title, bloggername, bloggerlink)
2020/6/9 서른, 자기계발 하기 딱 좋은 나이 * 1일 1성장일지...  예리로그 https://blog.naver.com/angelina9673
파이썬 독학, 프로그래밍 인강으로 공부하는 방법 부날파 : 부러진날개로파다닥 New https://blog.naver.com/cdh0584
OpenCV-Python가 읽은 이미지를 어떻게  PyQt로 실행하는지 로베르토박 https://blog.naver.com/rjsdnrsla
정보처리기사학원 쉽게 가르쳐줘서 좋았어요 멘토란 이런것이다 https://blog.naver.com/khu94
정보처리산업기사인강 필기실기 두마리 토끼잡기 호잇의 룰루랄라 https://blog.naver.com/thebenzecl
[Python] 파이썬 PIP 설치방법(Windows, Linux) 자대생 이솔의 일상 기록장 https://blog.naver.com/heesuh98
파이썬 모의 해킹과 침투 테스팅, 에이콘출판사 한숨에 땅은 꺼져가네 https://blog.naver.com/63sideyviw
python 3 업그레이드 (비망록) 인생을 Allegro♪ https://blog.naver.com/suzu1071
&lt;점프 투 파이썬:0610&gt;  실습하기 해담아해 스위티쭌& 스윗엘리의 아레테를 찾아가는 길 https://blog.naver.com/sweetphotato
[성동4차산업혁명체험센터] 2차 온라인강의 참가자 모집 성동 4차산업혁명 체험센터 https://blog.naver.com/sdfic