728x90
네이버 뉴스기사를 텔레그램 채팅방에 전송하기
안녕하세요. 오늘은 네이버에서 뉴스기사를 검색하여 해당 뉴스의 제목과 URL을 텔레그램 채팅방에 전송하는 코드를 작성하는 방법을 소개해드리려고 합니다.
네이버 뉴스기사를 검색하여 나온 URL 활용하기

네이버 뉴스에서 검색한 URL을 이용하여 원하시는 내용의 뉴스 제목과 URL을 텔레그램 채팅방에 전송하는 코드를 작성해 보겠습니다. 예시로, 미국주식 관련 데일리 뉴스를 올려주시는 김영필 기자님의 뉴스를 크롤링하는 코드를 작성해 보겠습니다.

URL을 자세히 보시면 'query=' 뒷부분에 검색어를 넣는다면 해당 키워드로 뉴스를 검색하는 것을 알 수 있습니다. 아래 코드에서 해당 부분에 원하시는 검색어를 넣으셔서 활용하시면 되겠습니다.
사용 라이브러리
아래는 이번 코드를 작성할 때 사용한 라이브러리들입니다.
pip install requests
pip install beautifulsoup4
pip install python-telegram-bot
전체 코드
아래는 전체 코드입니다. 토큰과 아이디 값을 입력하시면 채팅방에 바로 전송해보실 수 있습니다. count 변수에 출력되길 원하시는 뉴스 URL의 개수를 입력하시면 원하시는 기사 개수만큼 출력하실 수 있습니다.
import requests
import telegram
from bs4 import BeautifulSoup
def send_news_links():
"""네이버 뉴스 링크를 텔레그램 채팅방으로 전송"""
# 출력할 기사 개수
count = 3
# 네이버 뉴스 URL query= 부분에 원하시는 검색어를 넣으시면 됩니다
url = f'https://search.naver.com/search.naver?where=news&query=%EA%B9%80%EC%98%81%ED%95%84%EC%9D%98%203%EB%B6%84%20%EC%9B%94%EC%8A%A4%ED%8A%B8%EB%A6%AC%ED%8A%B8&sort=1&sm=tab_smr&nso=so:dd,p:all,a:all'
# html 문서 파싱
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 뉴스 제목 추출
news_titles = soup.select('a.news_tit')
titles = []
for i in range (0, count):
titles.append(news_titles[i].get('title'))
# 네이버 뉴스 링크 추출
news_links = soup.select('a.info')
links = []
for i in range(0, count * 2):
if i % 2 == 0:
continue # 신문사 URL 제외
links.append(news_links[i].get('href'))
# 최종 메세지 작성
total_msg = ""
for i in range(0, count):
total_msg = total_msg + titles[i] + "\n"
total_msg = total_msg + links[i] + "\n"
#토큰을 변수에 저장
bot_token = '토큰값을 넣어주시면 됩니다'
tel_bot = telegram.Bot(token = bot_token)
user_id = '아이디값을 넣어주시면 됩니다'
tel_bot.send_message(chat_id=user_id, text=total_msg)
if __name__ == '__main__':
send_news_links()
텔레그램 전송 테스트
위에 코드를 실행하시면 아래와 같이 메시지가 전송이 됩니다.

맨 처음의 네이버 검색결과 페이지와 텔레그램 채팅방의 뉴스 내용이 동일하게 나오는 것을 보실 수 있습니다.
마무리...
오늘은 텔레그램 채팅방에 원하는 뉴스기사를 검색하여 URL을 전송하는 코드를 작성해 보았습니다. 다음 포스팅에서도 파이썬을 활용하여 작성할 수 있는 다양하고, 유용한 코드들을 소개해드리는 시간으로 찾아뵙겠습니다. 감사합니다.
728x90
'프로그래밍 > 파이썬' 카테고리의 다른 글
[Python] 밸류에이션 지표 계산 봇 만들기 (yahoo_fin 이용) (26) | 2023.02.02 |
---|---|
[Python] 버핏 지수 계산하기 (FRED API 이용) (24) | 2023.02.01 |
[Python] 미국증시 시황 알림 봇 만들기 (30) | 2023.01.28 |
[Python] 텔레그램 봇 모듈 v20.0 릴리즈 (31) | 2023.01.25 |
[Python] 미니콘다에서 챗봇 프로그램 실행 (21) | 2023.01.16 |