사용 환경 및 도구
AWS CentOS 8
Windows 10
카카오톡
Nox 앱 플레이어 - 메신저봇
SKT 넘버플러스2
(튜토리얼 아닙니다)
특정 사이트에서 포스팅되는 최신 기사를 보고 싶은데
매번 들어가서 확인하는 게 귀찮아서 만들게 됐다.
스크랩•크롤링 하기 전에 robots.txt에 대해서 알자
limelightkr.co.kr/robots-txt-%EA%B7%B8%EA%B2%8C-%EB%AD%90%EC%A3%A0/
큰 그림은 이랬다.
1. 내 웹 페이지에 스크랩한 URL을 띄운다.
2. 메신저봇에서 다시 URL을 스크랩한다.
3. 카카오톡으로 알려준다.
메신저봇에서 바로 스크랩을 할 수 있기는 한데,
(카카오톡에서 봇 서비스가 등장, 메신저봇 사용으로 차단당한 사례?, Python 활용도)
이런 이유, 카더라 때문에 요로케 구상했다.
메신저봇 문서가 이쁘게 업그레이드됐고.. 업데이트도 계속 하고 계신다.
봇이 필요하시면 그냥 메신저봇만 사용하시면 될 것 같다. (이렇게 서드파티 앱을 만드시는 분들은 대단하고 멋진 분들이라고 생각한다)
나는 변태라서 이렇게 했다
메신저봇 덕분에 카카오톡으로 알려주는 기능은 문제 없었고
다음으로 해결해야 할 것이
최신 기사를 스크랩하는 방법, 웹 페이지에 코드 실행 결과를 띄우는 법을 알아야 했다.
이것들은 Python으로 전부 해결할 수 있었다.
django를 이용해서 웹 페이지를 구축하고 파이썬 코드의 결과(URL)를 웹 페이지로 가져왔다.
스크랩하는 방법은 Beautifulsoup, selenium 등이 있다.
그리고 메신저봇으로 웹 페이지에 있는 URL을 한번 더 가져온다.
if(msg == '시작'){
replier.reply('스크랩을 시작합니다.');
var data_saved='a';
for(; ;){
var data = Utils.getWebText("내웹페이지주소")[1];
var data2 = data.replace(정규표현식, "").split(" ")[0];
if(data_saved != data2){
data_saved = data2;
replier.reply(data2);
java.lang.Thread.sleep(시간);
}
else if(data_saved==data2){
/**replier.reply('동일URL');*/
java.lang.Thread.sleep(시간);
}
}
}
if(msg == '정지')
replier.reply('스크랩을 종료합니다.');
void Api.interruptThreads(scriptName);
}
메신저봇 코드
봇으로 사용한 계정은 가상번호 뭐시기가 있지만 매끈한 진행을 위해서 그냥 넘버플러스를 가입했다
참고 자료
blog.naver.com/PostView.nhn?blogId=edisondl&logNo=221362757188
'토이 > 프로젝트' 카테고리의 다른 글
내 웹사이트가 생겼다 (0) | 2022.07.02 |
---|