SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

그닥 쓸모는 없는 최근글 검색 및 텔레그램 알림 스크립트

th20ry 164

0

3

원하는 사이트/rss 로 사이트 게시글을 불러오고 

원하는 검색어로 검색 및 텔레그램으로 알림 주는 스크립트입니다. 

#에.. 정작 서버포럼이 안되는군요 ....

 

쉘 스크립트를 모르니까 빡세네요 ㄷㄷ;;

수정해서 사용할 분 사용하시라고 설정 주석 달아놨습니다. 

일단 제가 원하는 기능은 작동은 합니다만 ㅋㅋ;; 다른분도 작동한다는 보장은 못합니다. 저도 몰라요ㅋㅋ

 

 

#!/bin/bash

###################################################################################################################

#설정할곳
SEARCH=#원하는 검색어(영어)

SEARCH2=#[원][하][는][검][색][어] #한글
SITE_TO_SEARCH=#site/rss
OLD_LIST_PATH=#예전검색어담길경로.txt
NEW_RSS_PATH=#TEMP_PATH.txt
CHAT_ID=#텔레그램 채팅방ID
TELEGRAM_TOKEN=#텔레그램토큰
####################################################################################################################

touch $OLD_LIST_PATH   
touch $NEW_RSS_PATH

NEW_RSS=$(curl ${SITE_TO_SEARCH} | iconv -f euc-kr -t utf-8 | grep -i "^<title>" | tr -d "<title>" | tr -d "/" | grep -i "${SEARCH}" )   

#CURL 로 사이트 rss.php(?) 다운 | 한국어 utf8 변환 | <title> 부분 삭제 | 원하는 검색어 검색

NEW_RSS=$(curl ${SITE_TO_SEARCH} | iconv -f euc-kr -t utf-8 | grep -i "^<title>" | tr -d "<title>" | tr -d "/" | egrep --color "${SEARCH2}" ) 
echo -e "$NEW_RSS\n" >> ${NEW_RSS_PATH}
echo -e "$NEW_RSS\n" > ${NEW_RSS_PATH}
OLD_LIST=$(<${OLD_LIST_PATH})
NEW_RSS=$(<${NEW_RSS_PATH})

NEW_LIST=$(diff -iw $OLD_LIST_PATH $NEW_RSS_PATH | grep -A1 ">" | sed 's/^.//')

echo -e "${NEW_LIST}\n">> ${OLD_LIST_PATH}

echo "NEW_RSS=${NEW_RSS}"
echo "OLD_LIST=${OLD_LIST}"
echo "NEW_LIST=${NEW_LIST}" 

wget --post-data="chat_id=${CHAT_ID}&text=${NEW_LIST}" https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage

 

고수분들 틀린 부분 지적 환영합니다.

 

신고공유스크랩
3
profile image 1등
화정큐삼 2022.10.20. 23:16

#!/bin/bash

 

#원하는 사이트에서 title만 따고 검색어로 검색을 하여 new_rss로 저장합니다.

 

NEW_RSS=$(curl 원하는 사이트 주소 | iconv -f euc-kr -t utf-8 | grep -i "^

" | tr -d "" | tr -d "/" | grep -i "검색어" )

 

 

#기존 noti 했던 것들을 저장해두는 list 입니다.

 

OLD_LIST=$(

 

 

#기존 old_list와 new_rss를 비교하고, new_rss에 추가된 값( > 이하의 값을 new_list에 저장합니다.)

 

NEW_LIST=$(comm -1 $OLD_LIST $NEW_RSS | sed -n '/>/p')

 

 

 

if 차이가 나타난 NEW_LIST 가 있는 경우만

 

#텔레그램으로 원하는 메시지를 보냅니다.

 

wget --post-data="chat_id={chat_id}&text=Synology_message_["$new_list"]" https://api.telegram.org/bot{api_token}/sendMessage.

 

#old_list에 new_list의 값을 저장하여 다음에는 알리지 않게 합니다.

 

echo $NEW_RSS | tee -a $OLD_LIST

 

fi

 

 

이렇게 해야 NEW_LIST 가 존재하는 경우만 텔레그램이 전송될것 같습니다.

그리고 처음 초기값으로 OLD_LIST.txt 를 가져오는부분이 있는데,

지금까지 전송했던 검색어가 다 담겨 있는 파일이겠죠?

 

저 루틴은 최초에만 실행하고 다시는 실행하지 못하게 해야 할것 같습니다.

안그러면 이 스크립트가 반복되면서 다시 원래 값이 되어 버립니다.

 

아니면 맨 아래 전송 후에 OLD_LIST 변수에 담는것이 아니라

OLD_LIST.txt 에 저장이 되어야 할 것 같습니다.

th20ry 글쓴이 2022.10.21. 01:12
화정큐삼

댓글 감사합니다!

겨우.. 겨우 일단 이상한거 하나 만들었습니다.

어우..;; 진짜 기초가 없으니 너무 빡셉니다. 전문 서적을 한권 봐야하나 ㄷㄷ

profile image
화정큐삼 2022.10.21. 13:59
th20ry

저도 지난번 교보문고갔을때 리눅스 쉘 프로그래밍 책을 하나 구입할까 하다가 돈 아까워서 말았습니다. 인터넷에 좋은 자료와 선생님들이 많은데 4만원돈 넘겨 사는게 아깝더라구요. ㅎㅎ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story