본문 바로가기
Python

[파이썬] 네이버 API 뉴스 검색

by 퍼포먼스마케팅코더 2022. 8. 7.
반응형

이거는 아주 단순한 거예요. 이전에 네이버에서 공식적으로 api를 주는 게 있는데 보면 다양한 게 많이 있지 않습니까 블로그도 있고 쇼핑도 있고 카페 글 수 이런 것도 파악을 할 수 있죠 뉴스도 마찬가지입니다. 뉴스도 파악을 할 수 있어요. 그래서 여러분들 클라이언트 아이디나 클라이언트 시크릿 아이디 뭐 이런 거 집어넣으면 그것도 해서 어떤 특정 검색어나 키워드를 집어넣으면 이것에 따라서 뉴스 글 수를 볼 수 있습니다. 

파이썬 네이버 API 뉴스 검색

기본적인 사항은 한 10개 정도를 주는 거고요 대충 어떤 키워드들이 뭔가 새로운 뉴스 기사 거리가 뭔가 있는가 이런 걸 파악을 할 때 쓸 수 있는 겁니다. 크나 큰 다른 것은 없고요 최신 트렌드 여러분들이 관심 있는 이러한 것들이 네이버 뉴스 이런 거에 대해서 빨리 파악을 하실 때 쓸 수 있는 거다라고 보시면 될 것 같아요. 저도 가끔씩 틈틈이 사용하기는 합니다. 이거를 보시면 될 것 같습니다. 여기 키워드 있으면 이 키워드에다가 검색어만 입력을 하면 자동적으로 이 결과값은 나오니까 결과값은 한 세 가지로 나와요 네 가지로 나오긴 하는데 뉴스 제목 그다음에 뉴스의 요약 내용 그다음에 링크 그다음에 뉴스를 보도한 날짜 이렇게 되겠네요. 그것만 참고만 하시면 될 것 같습니다.

import os
import sys
import urllib.request
import json
from pandas.io.json import json_normalize


keyword = '하마'

# 네이버 API 

# https://developers.naver.com/docs/serviceapi/search/blog/blog.md#%EB%B8%94%EB%A1%9C%EA%B7%B8
# https://developers.naver.com/docs/common/openapiguide/apilist.md

client_id = "" #클라이언트 ID
client_secret = "" #클라이언트 시크릿

encText = urllib.parse.quote(keyword) #검색어 입력

# json 기준 각 섹션별 검색
url = "https://openapi.naver.com/v1/search/news?query=" + encText #뉴스글수
#url = "https://openapi.naver.com/v1/search/blog?query=" + encText #블로그 글수
# url = "https://openapi.naver.com/v1/search/shop?query=" + encText #쇼핑 글수
# url = "https://openapi.naver.com/v1/search/cafearticle?query=" + encText #카페 글수

# 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()
    json_str = response_body.decode('utf-8')
else:
    print("Error Code:" + rescode)
    
json_object  = json.loads(json_str) #json 변환
df = pd.DataFrame(json_object['items'])  #데이터 프레임 전환


#df[['description']] #뉴스 제목, 요약, 링크 

df
반응형

댓글