웹 스크롤링 및 파싱을 위한 모듈에는 jsdom이나 cheerio 등이 있다.
jsdom은 강력하긴 한데.. 워낙에 무겁고.. cpu가 100%을 달리는 경우가 발생하기도 하는 관계로
간단히 구현하기에는 cheerio가 좋아보인다.
https://github.com/cheeriojs/cheerio
예를 들어 https://play.google.com/store/apps/details?id=com.xxx.xxx.ver2 라는 앱이 있다고 하자.
이에 해당하는 안드로이드 앱의 버전을 체크하는 구현 소스는 아래와 같다.
var request = require('request'),
cheerio = require('cheerio');
.
.
.
request({uri: 'https://play.google.com/store/apps/details?id=com.xxx.xxx.ver2'}, function(err, response, body) {
if(err && response.statusCode !== 200) {
logger.info('request error: ', err);
return ;
}
try{
var $ = cheerio.load(body);
var tmpVersion = $('.meta-info').find('[itemprop="softwareVersion"]').html().trim();
return tmpVersion;
}catch(e) {
logger.info('cheerio error: ', e);
}
});