속보 뉴스를 텔레그램 채널로 받아보는 방법(네이버 뉴스 api)

작성자: [관리자] 하얀설표

2025.01.08 17:51 (KST) 작성됨

2025.01.10 17:56 (KST) 수정됨





(01.10) 수정됨.

텔레그램 채널을 통해 속보 뉴스를 받아볼 수 있습니다.

 

텔레그램 채널 : https://t.me/+9Ag_dp6SPt43NzM9


이런 동작을 하는 코드는 어떻게 작성하 수 있을까요? 한 번 알아보겠습니다.

 

네이버에서 검색할 수 있는 다양한 뉴스들

검색 포털인 네이버에서는 다양한 뉴스를 검색으로 찾아볼 수 있습니다.
그리고 그 중에는 속보로 전해지는 뉴스도 있는데요.

속보 뉴스는 1초라도 빨리 정보를 전달하기 위해 내용은 없지만, 그 정보 자체로 중요한 정보가 되기도 합니다.
처음에는 속보로 간략하게 전달되었다가, 나중에 상세한 내용으로 이어지는 뉴스가 만들어지기도 하구요.

간혹 속보 자체로 큰 뉴스가 되는 경우도 있습니다.

 

최근에는 1월 27일을 설 연휴 임시 공휴일로 지정한다는 소식이 속보로 전해지기도 했습니다.
그 덕에 1월 25일부터 1월 30일까지 6일의 연휴를 보낼 수 있고, 1월 31일 금요일에 연차를 사용한다면 6일이 아닌 9일의 연휴를 보낼 수도 있게 되었습니다.

이렇게 속보로 전해지는 뉴스들을 자세히 살펴보면 한 가지 특징이 있는 것을 알 수 있습니다. 같은 문구를 제목으로 하는 속보 뉴스가 많다는 것인데요.

임시공휴일 속보를 살펴보면 1월 27일 설 연휴 임시공휴일 지정이라는 제목의 뉴스가 많이 만들어졌습니다.

그렇다면, 이렇게 많이 언급되는 문구가 있는 속보들을 따로 골라낼 수만 있다면, 꽤 쓸만하지 않을까요?

 

이를 위해 필요한 것

이런 작업을 위해 필요한 것은 크게 2가지입니다.
하나는 이런 속보 뉴스들을 받아오는 방법이고, 다른 하나는 모은 뉴스를 확인할 수 있는 공간입니다.

 

운이 좋게도 우리는 이것들을 텔레그렘과 네이버에서 제공해주는 api를 통해 손쉽게 해결할 수 있습니다.

 

네이버 api로 뉴스 검색하기

네이버에서는 뉴스를 검색할 수 있는 api를 제공하고 있고, 간단한 코드를 통해 api를 이용할 수 있습니다.

네이버에서 제공해주는 예제를 활용해서 다음과 같은 코드를 작성할 수 있구요.

import json
from pathlib import Path
from pprint import pprint

import requests

auth = {api 인증키 정보}


session = requests.session()
session.headers = {
    'X-Naver-Client-Id': auth['id'],
    'X-Naver-Client-Secret': auth['secret']
}

url = 'https://openapi.naver.com/v1/search/news.json'
payload = {
    'query': '속보 공휴일',
    'display': 10,
    'start': 1,
    'sort': 'date',
}

with session.get(url, params=payload, timeout=5) as r:
    j: dict = r.json()

for i in enumerate(j['items']): pprint(i, sort_dicts=False)

 

이렇게 작성한 코드를 이용해 속보 뉴스를 받고, 뉴스를 분석하는 코드를 작성하면 다음과 같이 작성할 수 있습니다.

이 코드에서는 뉴스의 제목 뿐만 아니라 뉴스의 발행시간을 확인해 최신 뉴스가 맞는지 확인하고, 또 어떤 문구들이 반복될 수 있는지, 그리고 얼마나 반복되었는지를 확인하는 작업을 수행해야 하기 때문에, 처음과는 다르게 다소 긴 코드가 되었습니다.

https://github.com/white-seolpyo/breakNews/blob/main/seolpyo_BreakNews/news.py

 

이렇게 완성한 코드를 웹 서버에서 10분마다 실행하도록 하는 것으로 10분마다 속보 뉴스를 받아볼 수 있습니다.

 

소스 코드 : https://github.com/white-seolpyo/breakNews/tree/main

 

 






추천 (0)


글 목록

댓글을 달 수 없는 게시물입니다.


"분류없음" 카테고리 관련 게시물