상세 컨텐츠

본문 제목

네이버 API: 네이버 뉴스 검색 API (소스 제공)

ChatGPT 와 파이썬

by 마리우치 2023. 6. 29. 22:00

본문

반응형

네이버 뉴스 API는 공식적으로 제공되는 인터페이스로, 개발자가 애플리케이션에서 네이버의 뉴스 데이터에 접근할 수 있도록 합니다. 반면 네이버 뉴스 스크래핑은 웹 스크래핑 기술을 사용하여 네이버 뉴스 웹 페이지의 데이터를 추출하는 방법입니다. 파이썬으로 네이버 API 뉴스 검색을 해보겠습니다. 

 

 

네이버 API 실제 코드

 

 

목차

  1. 네이버 API
  2. 네이버 API 사용 예제
  3. 네이버 API 실행 결과
  4. 네이버 뉴스 스크래핑
  5. 결론

 

 

1. 네이버 API 

네이버 뉴스 API는 공식적으로 제공되는 인터페이스로, 개발자가 클라이언트 ID와 시크릿을 사용하여 네이버의 뉴스 데이터에 접근하고 검색 결과를 JSON 형식으로 받을 수 있습니다. 네이버 뉴스 검색 API를 사용하기 위해 필요한 요청 정보는 다음과 같습니다:

URL: https://openapi.naver.com/v1/search/news.json
HTTP 메서드: GET
필수 요청 헤더:
X-Naver-Client-Id: 네이버 API 애플리케이션의 클라이언트 ID
X-Naver-Client-Secret: 네이버 API 애플리케이션의 클라이언트 시크릿
필수 요청 매개변수:
query: 검색할 키워드
선택적 요청 매개변수:
display: 검색 결과로 받을 문서의 개수 (기본값: 10, 최대값: 100)
start: 검색 시작 위치 (기본값: 1)
sort: 정렬 기준 (sim: 관련도순, date: 날짜순)
filter: 검색 결과 필터링 조건
응답: JSON 형식의 검색 결과
API 요청을 보내고 응답을 받으면 JSON 형식의 데이터를 얻을 수 있습니다. 이 데이터에는 검색된 뉴스 기사의 정보가 포함되어 있으며, 각 기사의 제목, 링크, 날짜 등을 확인할 수 있습니다.

예시 코드를 다시 보면, 주어진 키워드로 뉴스를 검색하는 search_news 함수가 있습니다. 이 함수는 입력한 키워드를 기반으로 API 요청을 보내고, 검색 결과를 출력합니다. 단, 코드 실행 시 앞서 언급한 대로 클라이언트 ID와 시크릿을 올바르게 설정해야 합니다.

뉴스 검색 API를 활용하여 원하는 키워드에 대한 네이버 뉴스 기사를 쉽게 검색하고 활용할 수 있습니다.

 

 

2. 네이버 API 사용 예제

headers: API 요청에 필요한 헤더 정보를 설정합니다. 클라이언트 ID와 시크릿은 네이버 개발자 센터에서 발급받은 정보를 사용해야 합니다. 여기서는 "your client-id"와 "your client-secret" 자리에 실제 값이 들어가야 합니다.  params: API 요청에 필요한 매개변수를 설정합니다. "query"에는 검색할 키워드를 입력하고, "display"에는 검색 결과로 받을 문서의 개수를 설정합니다. 이 예제에서는 50개의 검색 결과를 출력하도록 설정되어 있습니다.  response = requests.get(url, headers=headers, params=params): HTTP GET 요청을 보내고, 응답을 response 변수에 저장합니다. url, headers, params 정보를 함께 전달하여 요청을 생성합니다.  data = response.json(): 응답을 JSON 형식으로 파싱하여 data 변수에 저장합니다. 이는 API에서 반환된 검색 결과 데이터를 나타냅니다.  for item in data['items']: ...: data에서 'items' 키를 통해 검색 결과에 접근합니다. 각 검색 결과에 대해 제목과 링크 정보를 추출하여 출력합니다. 

 

 

 

 

아래의 파이썬 코드는 네이버 API, 검색 API 를 이용하여,  "제주도" 라는 단어가 포함된 기사 리스트를 확인합니다. 

 

 



import requests

def search_news(keyword):
    headers = {
        "X-Naver-Client-Id": "your client-id",
        "X-Naver-Client-Secret": "your client-secret"
    }
    params = {
        "query": keyword,
        "display": 50  # 검색 결과 출력 개수 설정
    }

    response = requests.get(url, headers=headers, params=params)

    data = response.json()

    # 검색 결과 출력
    for item in data['items']:
        title = item['title']
        link = item['link']
        print("제목:", title)
        print("링크:", link)
        print()

# 검색어를 입력하여 뉴스 검색 수행
search_news("제주도")


 

 

3. 네이버 API 사용 결과

네이버에서는 공식적으로 제공되는 인터페이스인 네이버 뉴스 API를 통해 네이버의 뉴스 데이터에 접근하고, 원하는 검색 결과를 JSON 형식으로 받아올 수 있습니다. 위의 예제 코드를 사용하면 특정 키워드로 뉴스를 검색하여 검색 결과의 제목과 해당 뉴스의 링크를 출력할 수 있습니다. 이를 통해 네이버 뉴스 API를 사용하여 원하는 정보를 손쉽게 얻을 수 있음을 확인하였습니다.

 

네이버 API 뉴스 검색 실행 결과

 

 

4. 네이버 뉴스 스크래핑

네이버 뉴스 스크래핑은 웹 스크래핑을 사용하여 네이버 뉴스 웹 페이지의 HTML 구조를 분석하고 필요한 데이터를 추출하는 방법입니다. 스크래핑을 통해 뉴스 제목, 내용, 작성일 등의 데이터를 수집할 수 있으며, 네이버의 웹 페이지 구조에 의존합니다. 스크래핑 코드는 웹 페이지 구조 변경 시 업데이트해야 할 수 있고, 네이버의 이용약관에 스크래핑 제한이 있는지 확인해야 합니다.

 

 

5. 결론

최종적으로 네이버 뉴스 API는 공식적이고 안정적인 방법으로 뉴스 데이터에 접근하고 활용할 수 있는 반면, 네이버 뉴스 스크래핑은 웹 페이지 구조에 의존하고 이용약관 제한이 있을 수 있습니다. 따라서 네이버 뉴스 API를 사용하는 것이 권장되며, 네이버의 정책에 따라 안정적인 데이터 접근을 위해 개발자는 API를 활용할 수 있습니다.

 

 

네이버 뉴스 검색, 스크래핑 관련 글

 

 

 

 

반응형

지금 뜨고 있는 이야기들

아이폰16 Pro, 자급제, 사전 예약, 네이버 쇼핑 top 50




김포 재개발 대장주 한강 수자인 오브센트




챗GPT GPT-4o 무료로 그림 그리기



관련글 더보기

댓글 영역