1. 연구 모듈/텔레그램
텔레그램 봇으로 채널 포스팅 - 3. Node.js 사용 예제 (2)
사용자-1
2016. 10. 6. 06:01
- 텔레그램 봇으로 채널 포스팅 - 2. Node.js 사용 예제 (1)
- [Node.js] HTML 파싱하기 (cheerio 모듈 사용)
위의 두 글을 참고하면 웹페이지의 특정 class에 해당하는 부분을 추출하여 텔레그램 채널로 보내는 것이 가능하다. (두둥)
var http = require('http');
var https = require('https');
var cheerio = require('cheerio');
var options = {
hostname: 'httpbin.org'
};
function handleResponse(response) {
var serverData = '';
response.on('data', function (chunk) {
serverData += chunk;
});
response.on('end', function () {
var $ = cheerio.load(serverData);
var result = $(".bash").text(); // 클래스가 bash인 요소를 선택
var result2 = result.replace(/(^\s+|\s+$)/g, ""); // 앞뒤의 화이트 스페이스를 제거
console.log("Find by class : bash -> " + result2);
var options2 = {
hostname: 'api.telegram.org',
path: '/bot<텔레그램 봇 토큰>/sendMessage',
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
};
var req = https.request(options2, function(res) {
console.log('Status: ' + res.statusCode);
console.log('Headers: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (body) {
console.log('Body: ' + body);
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.write(
'{"chat_id": "@<채널 ID>", "text": "' + result2 + '"}'
);
req.end();
});
}
http.request(options, function(response){
handleResponse(response);
}).end();