[Python] sir.kr 알림을 telegram으로 받기 정보
[Python] sir.kr 알림을 telegram으로 받기첨부파일
본문
안녕하세요? ^-^
냑 회원님들께서도 무더위에 다들 건강히 계시는지요?
냑에 새 알림이 뜨면 telegram으로 그 내용을 전송받는 Python 스크립트를 작성했습니다.
다른 그누보드 사이트에도 약간의 튜닝만으로 사용 가능하므로, '플러그인' 게시판에 올립니다.
1. 적용 환경 및 라이선스
이 스크립트는 sir.kr을 기준으로 작성되었습니다.
라이선스는 아무런 제한 없이 자유롭게 이용 가능한 MIT 라이선스입니다 ^^
2. 사용법
스크립트의 제8열에 냑 ID, 제9열에 냑 패스워드를 입력하시고,
제72열에 telegram 토큰값, 제76열에 telegram 챗아이디값을 입력하면 됩니다.
주기적으로 실행하시려면 우분투 crontab 또는 윈도우 스케줄러에 넣으시면 됩니다 ^^
혹시 텔레그램봇을 생성하는 방법을 모르시면 아래 웹페이지를 참고하세요 :)
3. 스크립트 구동 방식
https://sir.kr/bbs/pushmsg.php?read=n 에서 새 알림이 왔는지 확인합니다.
자동으로 sir_alarm_telegram.log 파일을 생성하여 알림을 중복으로 보내지 않도록 했습니다.
4. 적용 결과
아래 캡쳐화면과 같이, 새 알림이 오면 telegram으로 그 내용을 전송합니다.
(알림이 온 것을 브라우저에서 읽으면, 당연히 telegram으로 알림이 오지 않습니다.)
댓글이 달리면 그 내용이 아래 화면과 같이 파란색으로 표시됩니다.
제가 2주 동안 테스트한 결과, 다행히도 특별한 문제점을 발견하지는 못했습니다 ^^
5. 향후 개선할 점
아래 캡쳐화면과 같이, 대대댓글의 경우 알림은 오지만 댓글 내용을 파싱하지 못합니다.
이는 sir.kr의 대대댓글 알림이 댓글 URL이 아니라 본문 URL을 전송하기 때문입니다 ㅠㅠ
6. 마무리하며
이 스크립트를 사용하시면 Q&A 게시판에 질문을 작성한 후에 답변이 언제 달리나 하면서
새로고침을 계속 클릭하실 필요가 없을 것 같네요 ^-^
그럼 냑 회원님들께서도 편안한 저녁 되시고, 내일부터 장마가 온다는데 비 조심하세요~!
24
댓글 전체
댓글과 추천 항상 감사드립니다!!
sinbi 님께서도 장마 조심하시구요~
그럼 편안한 저녁 되세요 :)
번번이 응원의 댓글과 추천 남겨주셔서 진심으로 감사드립니다!!
dogcat.live도 더욱 번창하시길 기원합니다 :)
그럼 벌이뉨 님께서도 좋은 저녁 되세요~!
댕댕이와 냥이는 사랑입니다!!
저야말로 벌이뉨 님께 늘 많이 배우고 있네요 :)
그럼 굿밤 되시고 내일 우산 꼭 챙기세요~ ^^
py 파일을 사용에 대해 궁금한 내용을 쪽지로 여쭈어봐도되나요?
부족한 점이 많은 스크립트인데 좋게 봐주셔서 감사드립니다.
스크립트 관련하여 궁금하신 점이 있으시면 편하게 쪽지 주세요 :)
저희 회사 보안 규정 때문에 답장은 퇴근 후에 드릴 수 있을 것 같습니다 ㅠㅠ
그럼 오늘도 좋은 하루 되시고, 비 조심하세요~!
킹왕짱이십니다.
비타주리 님께서 그렇게 말씀하시니 제가 몸둘 바를 모르겠네요 ㅠㅠ
저야말로 비타주리 님께서 올려주시는 Javascript 소스를 보며 늘 많이 배우고 있습니다!
그럼 장마가 시작되었다는데 비 조심하시고, 오늘도 좋은 하루 되세요 :)
항상 감사드립니다!!
무례하지만, 혹시 카톡으로 받을수는 없는지요... ㅜㅜ;
댓글과 추천 감사드립니다!!
SIR 알림을 카카오톡으로 받고 싶으시다는 말씀이시죠?? :)
카카오톡은 제가 잘 사용하지 않아서 시도해본 적이 없네요 ㅠㅠ
telegram으로 메시지를 보내는 함수를 카카오톡으로 변환하는 것은
아래 웹페이지를 참조하시면 어렵지 않게 해결될 것 같습니다 ^^
https://velog.io/@hibeen1/Python%EC%9C%BC%EB%A1%9C-%EB%82%98%EC%97%90%EA%B2%8C-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%EB%B3%B4%EB%82%B4%EA%B8%B0
윗글 설명 중에서 'text 타입'으로 하시면 무난할 것 같네요!
그럼 맛점 드시고 오후부터 장마가 시작된다던데 비 조심하세요~! ^^
본인이 쓴글에 누가 댓글을 달면 텔레그램이나 카톡 어플을 설치했다면 알림을 받을 수 있다는 것인가요?
굳이 하이브리드앱을 만들필요도 없겠네요
일단 강추
구체적으로 어떤 목적으로 사용하시려는지는 모르겠으나, 텔레그램이나 카톡으로 무료 알림을 받을 수 있는 것은 맞습니다.
다만 서버 사이드의 스크립트가 아니라, 클라이언트 사이드의 스크립트입니다.
즉 유저가 직접 Python을 구동해야 합니다 ^^
그럼 즐거운 주말 되세요!
그럼 드디어 장마가 시작되었는데 비 조심하시고 편안한 저녁 되세요 :)
추천과 댓글 감사드립니다!!
본문에 올린 캡쳐 사진에서도 볼 수 있듯이
우성짱 님께서 저번에 자게 글에 댓글 달아주신게 스크립트 테스트에 큰 도움이 되었습니다!!
그럼 우성짱 님께서도 비 조심하시고 블로그 운영도 홧팅홧팅입니다 :)
항상 감사드립니다~!
파이썬을 처음 써봤는데, 테스트 해보니 잘되네요~
처음에 파이썬 설치 후 디버그 할 때, 모듈설치부터 알아가는 재미가 좋았습니다.
배포 감사합니다.
Python까지 설치하시면서 제 허접한 스크립트를 테스트해주셔서 감사드립니다!
제가 주석을 대충 달았는데 찰떡 같이 이해해주셔서 정말 다행이네요~ :)
말씀하신대로 Python 디버깅은 pip로 모듈을 제대로 설치하는게 전체 과정의 절반이라는 느낌이네요 ㅎㄷㄷ
(Anaconda를 설치하셨으면 그나마 조금 수월하셨을 것 같습니다 ㅠㅠ)
그럼 빅클린코드 님께서도 즐거운 불금 되시고, 다시 한 번 진심으로 감사드립니다!!
저희 회사의 겸직금지 조항 때문에 의뢰는 정중히 사절하겠습니다 ^^
좋은 주말 되세요!
댓글 남겨주셔서 저야말로 감사드립니다!
좋은 주말 되세요~ :)
설명해주신데로 사이트 계정 및 사이트 주소 텔레그램봇생성 및 api 입력 및 아이디 입력
모두 완료, 파이썬 설치하고 모듈을 모두 설치하고 실행을 했습니다.
엥?
Traceback (most recent call last):
File "C:\sir_alarm_telegram.py", line 82, in <module>
parse_sir(s)
File "C:\sir_alarm_telegram.py", line 24, in parse_sir
lis = soup1.find('ul', {'class':'pushmsg_list'}).findAll('li')
AttributeError: 'NoneType' object has no attribute 'findAll'
이라고 뜨네요ㅜㅜ
저는 윈도우에서나 우분투에서나 말씀하신 오류가 재현되지 않아서 정확한 원인은 모르겠네요 :)
다만 위 오류는 ul.pushmsg_list를 제대로 파싱하지 못한 경우에 발생합니다.
그리고 제가 올린 스크립트의 로그인 체크 부분은 실제 로그인 여부를 100% 확인하지는 못합니다.
에러가 발생하는 환경에서 로그인이 잘 되어서 https://sir.kr/bbs/pushmsg.php?read=n 주소에 접근할 수 있는지 여부를 테스트하셔야 될 것 같습니다.
실제 로그인 여부를 확인하려면 로그인 후 닉네임을 크롤링해보는 방법이 수월하겠죠 ^^
만약 로그인이 안 되면 위 주소에 접근이 안 되어 위와 같은 파싱 에러가 발생합니다.
그럼 편안한 밤 되세요~ ^^
제 도메인에 연결해서 사용을 할려고 보니
/bbs/pushmsg.php
파일이 없습니다;;;;;;
죄송합니다. 다시 시도해 보고 댓글 남겨드리겠습니다;;;
그럼 좋은꿈 꾸세요~