요즘 일하는데 필요한 기술 중 하나가 자동화라고 생각합니다.
자동화의 경우 종류가 다양하지만 필자는 웹 개발자여서 웹 크롤링에 관심이 많습니다.
웹 크롤링의 경우 다양한 언어로 지원이 되는데 그 중 파이썬으로 설명해보려합니다.
주제는 저도 만들어서 쓰고 있는 나이키 DRAW에 관련된 텔래그램 알람 봇 입니다!
제가 생각하는 목차입니다.
- 텔래그램 봇 API 연동하기
- 웹크롤링 (Selenium) 설치하기
- 나이키 SKNRS 사이트 정보 가져오기
텔래그램 API 만들기
우선 텔래그램 API를 만들고 메세지 보내기를 해봅시다!
텔래그램 공식 홈페이지에서 설치하시거나 귀찮으신 분은 여기를 클릭해서 설치해주세요.
설치 후 왼쪽 상단에 검색에서 BotFather를 검색하시면 가짜 BotFather가 검색이 많이 되는데 사진에 있는 BotFather를 누르고 가운데 하단에 START를 눌러주세요.
BotFather 추가하기
이제 본격적으로 봇 API를 만들고 메세지를 보내봅시다!
위에 START를 누르면 하단의 이미지처럼 나올텐데
/newbot 을 입력해주세요.
/newbot 입력
그 다음 봇의 이름을 입력해주어야 하는데 주의할 점은 이름의 끝에 Bot 혹은 _bot이 붙어야한다는 점입니다.
봇 이름 정하기
여기부터가 중요합니다!!
봇의 생성이 끝나면 봇의 채팅주소를 알려주는데 이미지의 링크 (t.me/nike_draw_bot)를 클릭하면
봇과 대화를 할 수 있습니다.
여기서 아무 대화나 입력해주세요.
봇 생성 완료
생성된 봇에 메세지 보내기
이제 텔래그램 HTTP API에서 이용할 chat_id를 알아내봅시다.
https://api.telegram.org/bot위에서 생성된 토큰값/getUpdates
제가 만든 봇API를 예를 들면
https://api.telegram.org/bot1694794245:AAHsxqDUzq3oV5VcWnvv7FQpQ2G8bLFu02A/getUpdates
원래 토큰값은 본인만 알고 있어야 합니다!!!! (저는 설명하기 위해 테스트로 만들어 공개한겁니다!)
자 이제 접속을 해보면 JSON 형식으로 데이터를 내려주는걸 볼 수 있습니다. 여기서 chat부분에 id가 있습니다.
chat_id를 알아보자.
개인정보와 관련된 부분은 지웠습니다.
저의 chat_id는 816534567이군요. 이제 메세지를 보내봅시다.
HTTP API이기 때문에 메세지 보내는 것도 너무 쉽습니다.
https://api.telegram.org/bot위에서 생성된 토큰값/sendMessage?chat_id=chat_id 값&text=보낼 메세지
제 봇으로 바꿔보면
https://api.telegram.org/bot1694794245:AAHsxqDUzq3oV5VcWnvv7FQpQ2G8bLFu02A/sendMessage?chat_id=816534567&text=봇이 말합니다.
이 주소로 접속하면 JSON 형식으로 결과값을 받고 텔래그램 채팅방을 보시면 메세지 전송이 된걸 볼 수 있습니다!
봇이 말합니다.
자 이제 웹크롤링으로 원하는 정보를 받아 볼 수 있는 기본적인 작업이 끝났습니다.
더 자세한 내용을 알고 싶으시다면 아래 링크를 참조해보세요.
core.telegram.org/bots/api#sendmessage
다음 편에서는 웹 크롤링에 대해 알아보려합니다.