티스토리 뷰
[파이썬/응용]Yahoo 뉴스 자료 크롤링(6) / 정제된 내용을 telegram을 이용해 나에게 전송하기 / python / 텔레그램 / 봇파더
원주살이 2025. 3. 2. 11:58※이 글은 자기개발 및 복습을 위한 글로, 야후 뉴스 크롤링에 대한 파이썬 코딩을 만드는 방법을 작성하는 글임을 밝힌다.
주식을 하다 보면, Telegram이나 카카오 오픈채팅 등의 소스에서 뉴스를 접하는 경우가 많은데, 남이 떠먹여 주기만 해서는 내가 시사에 관심을 가질 수 없음을 깨닫는다. 그래서 직접 Yahoo News의 자료들을 크롤링하여, 해당 내용들 중 중요한 내용들을 요약하여 내 텔레그램 Bot에 요약 자료까지 발송하는 일련의 가정을 작성하고자 한다.
https://wjjw.tistory.com/entry/Yahoocrawling1
https://wjjw.tistory.com/entry/Yahoocrawling2
https://wjjw.tistory.com/entry/Yahoocrawling3
https://wjjw.tistory.com/entry/Yahoocrawling4
https://wjjw.tistory.com/entry/Yahoocrawling5
[파이썬/응용]Yahoo 뉴스 자료 크롤링(5) / 로컬 LLM을 이용한 뉴스 요약(영문) / python / 크롤링
※이 글은 자기개발 및 복습을 위한 글로, 야후 뉴스 크롤링에 대한 파이썬 코딩을 만드는 방법을 작성하는 글임을 밝힌다.주식을 하다 보면, Telegram이나 카카오 오픈채팅 등의 소스에서 뉴스를
wjjw.tistory.com
뉴스 자료를 크롤링 후, 로컬 LLM을 활용해 뉴스를 요약하여 반환하는 작업까지 완료했다.
이제 남은 것은, telegram을 이용하여 나에게 해당 요약문을 전송하는 것 뿐이다.
여기서 필요한 작업은 정말 간단하다.
1. 텔레그램에서 BotFather을 활용해 내 Bot 생성
2. 생성된 Bot에 대한 ID 확보
3. ID를 이용해 Python의 telegram library를 통해 텔레그램으로 전송
순서대로 진행해보도록 하자.
1. 텔레그램에서 BotFather을 활용해 내 Bot 생성
텔레그램을 설치 후, 검색 창에 BotFather을 검색하면, 뜨는 봇을 친구 추가 한 다음 아래와 같은 순서대로 명령어를 입력한다.
/newbot -> 이름 설정 -> 검색할 봇 이름 설정(끝은 무조건 bot으로) -> api token 획득
2. 생성된 Bot에 대한 ID 확보
토큰을 얻은 뒤, 내가 만든 봇을 검색해보면 검색이 됨을 알 수 있다.
예시)
이제 이 봇한테 말을 건 뒤에, 아래 주소에 받은 토큰값을 입력해보도록 하자.
https://api.telegram.org/bot{토큰값}/getUpdates
그럼 하단에 "message_id" 우측에 어디서 메세지를 받았는지 id가 뜨는데, 해당 메세지를 메모해두도록 한다.
3. ID를 이용해 Python의 telegram library를 통해 텔레그램으로 전송
import telegram
import asyncio
import nest_asyncio
nest_asyncio.apply()
id_telegram = "ID 입력"
async def telegram_message(message):
token_telegram = "토큰 입력"
bot = telegram.Bot(token_telegram)
try:
await bot.sendMessage(chat_id = id_telegram, text = message)
except telegram.error.TelegramError as e:
print(f"텔레그램 오류: {e}")
except Exception as e:
print(f"예기치 않은 오류 발생: {e}")
우선 import할 패키지들을 전부 설치한다.
위의 세 가지가 없으면, python -> telegram이 불가능하니, 설치하도록 한다.
telegram :
텔레그램 봇 API를 파이썬에서 사용하기 위한 라이브러리다. 이걸 통해 텔레그램 봇을 만들고 메시지를 보내거나 받을 수 있다. 코드에서는 봇 인스턴스를 만들고 메시지를 보내는 데 사용하고 있다.
asyncio :
파이썬에서 비동기 프로그래밍을 할 수 있게 해주는 표준 라이브러리다. 여러 작업을 동시에 처리할 수 있게 해준다. 텔레그램 봇 API는 비동기 방식으로 작동하기 때문에 필요하다. 코드에서 async와 await 키워드를 사용할 수 있게 해준다.
nest_asyncio :
Jupyter 노트북이나 IPython 같은 환경에서는 이미 asyncio 이벤트 루프가 실행 중인 경우가 많다. 이런 환경에서도 asyncio 코드를 실행할 수 있게 해주는 패키지다. 코드에서 임포트만 했지만 실제로 사용하려면 nest_asyncio.apply()를 호출해야 한다.
이 세 가지 패키지가 없으면 Python에서 텔레그램으로 메시지를 보내는 것이 불가능하니 반드시 설치해야 한다.
그리고
asyncio.run(telegram_message("보내고싶은 메세지")
를 입력하면
위와같이 작동함을 알 수 있다.
'자기개발 > 취미코딩' 카테고리의 다른 글
[파이썬/응용]Yahoo 뉴스 자료 크롤링(5) / 로컬 LLM을 이용한 뉴스 요약(영문) / python / 크롤링 (2) | 2025.02.16 |
---|---|
[파이썬/응용]Yahoo 뉴스 자료 크롤링(4) / 저성능PC에서 구동 가능한 LLM "Bllossom/llama-3.2-Korean-Bllossom-3B" 설치 / LLM 튜닝 (0) | 2025.02.15 |
[파이썬/응용]Yahoo 뉴스 자료 크롤링(3) / Ollama 환경에서 EEVE 모델 설치 (1) | 2025.02.13 |
[파이썬/응용]Yahoo 뉴스 자료 크롤링(2) / Ollama 설치 및 활용 (0) | 2025.02.11 |
[파이썬/응용]Yahoo 뉴스 자료 크롤링(1) / 원하는 뉴스 주소 크롤링 (0) | 2025.02.10 |
- Total
- Today
- Yesterday
- 인플레이션
- 데이터센터
- 파이썬실용
- 코딩
- 뉴스케일파워
- 투자전략
- 알마티
- 요리
- 원주맛집
- 닭요리
- 경제학 개념
- 뉴스자동화
- 여행
- 야후뉴스
- 내돈내산
- 레시피
- 글로벌경제
- 맛집
- 프랑스
- 경제 상식
- LLM
- 캠핑
- 요리레시피
- 원주
- 카자흐스탄
- 통화정책
- python
- 금융시장
- 파이썬
- 춘천여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |