안녕하세요.
이번에는 실시간 검색을 받아보도록 하겠습니다.
이번 강의 또한 자바스크립트와 HTML에 대해 알고 있으셔야 합니다.
1. 특정 데이터 받아오기
1
2
3
4
|
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
var data=org.jsoup.Jsoup.connect("https://m.search.naver.com/search.naver?query=실시간%20검색어").get().select("span.tit")+"";
replier.reply(data);
}
|
cs |
Jsoup.connect 를 통해서 해당 url에 있는 사이트를 가져올 수 있습니다.
get().select를 통해서 span태그의 tit클래스만 따로 분류하여 추출합니다.
그리고 채팅창에 아무거나 입력하시면 봇은 아래의 사진처럼 출력을 할 것입니다.
2. 받아온 데이터의 태그 없애기
1
2
3
4
5
6
7
|
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
var data=org.jsoup.Jsoup.connect("https://m.search.naver.com/search.naver?query=실시간%20검색어").get().select("span.tit")+"";
data = data.replace(/<[^>]+>/g,"");
data = data.split("\n");
replier.reply(data);
}
|
cs |
받아온 데이터에 불필요한 정보 <span class="tit _keyword"></span>을 replace의 정규식을 통해서 없애도록 합니다.
그런 후 Enter를 기준으로 나누어 배열에 저장합니다.
채팅창에 아무거나 입력을 하면 봇은 아래의 사진처럼 응답합니다.
3. 데이터 정리
위의 사진처럼 배열에 저장된 값을 보기 쉽게 정리해보도록 하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
var data=org.jsoup.Jsoup.connect("https://m.search.naver.com/search.naver?query=실시간%20검색어").get().select("span.tit")+"";
var weather = "";
data = data.replace(/<[^>]+>/g,"");
data = data.split("\n");
for(var idx = 0; idx < 10; idx ++) {
weather += (idx + 1) + "위 : " + data[idx] + "\n";
}
replier.reply(weather);
}
|
cs |
4. 마무리 작업
10위 밑을 보면 Enter가 하나 더 있는 것을 볼 수 있고, 아무거나 입력하면 실시간 검색에 대한 내용이 뜨기 때문에 이를 정리해주도록 합시다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
function response(room, msg, sender, isGroupChat, replier, ImageDB) {
Real_Time_Query(msg, replier)
}
function Real_Time_Query(msg, replier) {
if(msg == "실검") {
var data=org.jsoup.Jsoup.connect("https://m.search.naver.com/search.naver?query=실시간%20검색어").get().select("span.tit")+"";
var weather = "[네이버 실시간 검색어]\n\n";
data = data.replace(/<[^>]+>/g,"");
data = data.split("\n");
for(var idx = 0; idx < 10; idx ++) {
weather += (idx + 1) + "위 : " + data[idx] + "\n";
}
weather = weather.slice(0, -1);
replier.reply(weather);
}
}
|
cs |
'카카오봇' 카테고리의 다른 글
카카오봇 만들기 (6) : 현재 날씨 받아오기 (0) | 2020.03.17 |
---|---|
카카오봇 만들기 (5) : 영화 순위 받아오기 (0) | 2020.03.17 |
카카오봇 만들기 (3) : 자바스크립트를 이용하여 채팅해보자 (1) | 2020.03.16 |
카카오봇 만들기 (2) : 채팅 자동응답 봇 설치 (3) | 2020.03.16 |
카카오봇 만들기 (1) : 가상전화번호 생성(TextNow) (3) | 2020.03.14 |
댓글