AR삽질러

네이버API를 이용한 뉴스 검색 및 저장 - 데이터 수집 본문

Python

네이버API를 이용한 뉴스 검색 및 저장 - 데이터 수집

아랑팡팡 2023. 12. 4. 19:24
728x90

 

네이버API를 이용한 뉴스 검색 및 저장 - 데이터 수집

 

1. 네이터 개발자 사이트에 접속 및 로그인

https://developers.naver.com/main/

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

2. 상단의 [Documents] -> [서비스 API] -> [검색]을 클릭해 해당 페이지로 이동 -> [뉴스]

 

 

3. 뉴스 검색 결과 조회를 위해 필요한 정보들인 요청 URL, 프로토콜, HTTP 메서드, 파라미터, 응답, 오류 코드 등을 숙지한다. 필요에 따라 검색 API뉴스 검색 구현 예제를 참고한다.

 

4. 네이버에서 적절한 검색에를 입력받아 해당 뉴스를 검색하기 위해 필요한 요청 URL, 프로토콜, HTTP메서드, 파라미터, 응답, 오류코드 등을 이용하여 코드를 작성한다.

 


네이버 뉴스 검색API

SearchNew.py

import os
import sys
import urllib.request
import json

client_id = "여러분의 클라이언트 아이디"
client_secret = "여러분의 클라이언트 시크릿"

searchWord = input("검색어 입력 : ")
encText = urllib.parse.quote(searchWord)
url = "https://openapi.naver.com/v1/search/news?query=" + encText  # JSON 결과
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()
    body = json.loads(response_body.decode('utf-8'))
    total = body['total']
    print(total)
    count = 1
    for item in body['items']:
        title = item['title']
        link = item['link']
        print(count, title, link)
        count += 1
else:
    print("Error Code:" + str(rescode))

 

1. 환경설정

 - 필요한 모듈 임포트

2. API인증

 - 네이터 개발자 센터에서 발급받은 client_id와 client_secret를 스크립트에 설정한다.

3. 검색어 입력받기

 - 사용자로부터 검색하고자 하는 키워드를 입력받는다.

4. API요청 URL구성

 - 입력받은 검색어를 URL인코딩하여 네이버 뉴스 검색 API URL에 추가한다.

5. API요청 및 응답 처리  

 - urllib.request 모듈을 사용해 API요청을 보낸때 필요한 인증 헤더를 추가하여 보낸다.

 - 응답의 상태 코드를 확인해 요청이 성공적이었는지 판단한다.

6. 결과출력

 - 성공적으로 200 응답이 나오면 JSON형식의 응답 본문을 파싱해 뉴스 기사의 제목과 링크를 출력한다.

 

 

 

 

 

 

 

728x90
반응형
LIST