본문 바로가기
카카오봇

카카오봇 만들기 (5) : 영화 순위 받아오기

by Half-Dev 2020. 3. 17.

안녕하세요.

이번에는 카카오 봇으로 영화 순위를 받아오도록 하겠습니다.

 

영화 순위 사이트 : https://ticket.maxmovie.com/reserve/movie

위 사이트를 들어가 보시면 영화 순위들을 볼 수 있습니다.

 


1. 영화 순위 받아오기

1
2
3
4
5
6
7
8
9
10
11
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
    Movie_Chart(msg, replier);
 }
 
function Movie_Chart(msg, replier) {
    if(msg == "영화") {
        var data=org.jsoup.Jsoup.connect("https://ticket.maxmovie.com/reserve/movie").get().select(".tmplMovie > a")+""
        replier.reply(data);
    }
}
 
cs

위의 코드를 실행시켜보면 순위의 대한 데이터를 받아옵니다.


2. 정보 다듬기

필요 없는 태그들은 제거해 주도록 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
    Movie_Chart(msg, replier);
 }
 
function Movie_Chart(msg, replier) {
    if(msg == "영화") {
        var data=org.jsoup.Jsoup.connect("https://ticket.maxmovie.com/reserve/movie").get().select(".tmplMovie > a")+""
        data = data.replace(/<[^>]+>/g,"");
        data = data.split("\n");
 
        replier.reply(data);
    }
}
cs

 


3. 마무리 작업

영화 제목들이 배열로 저장이 되어있지만, 제목마다 끝을 보면 한 칸씩 공백이 있는 것을 지워주도록 하겠습니다.

공백을 앞, 뒤 공백을 없애주는 trim()을 이용하도록 하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
    Movie_Chart(msg, replier);
 }
 
function Movie_Chart(msg, replier) {
    if(msg == "영화") {
        var str = "[영화 순위] \n\n";
        var data=org.jsoup.Jsoup.connect("https://ticket.maxmovie.com/reserve/movie").get().select(".tmplMovie > a")+""
        data = data.replace(/<[^>]+>/g,"");
        data = data.split("\n");
 
        for(var idx = 0; idx < 10; idx ++) {
            str += (idx + 1+ "위 : " + data[idx].trim() + "\n";
        }
        str = str.slice(0-1);
        replier.reply(str);
    }
}
cs

 

 

댓글