Yuseunggeun

modify index.js(물품성능 크롤링 추가)

......@@ -6,46 +6,47 @@ var router = express.Router();
var url = "https://www.videocardbenchmark.net/gpu_value.html#all-time-value";
//var Graphic_card = [];
//var Price = [];
var Graphic_card_info = new Array();
var exhange_rate = 0;
var Graphic_card_info = new Array(); //그래픽카드정보 저장
Graphic_card_info[0] = {
"name" : "",
"price" : 0,
"link" : ""
"name" : "", //물품이름
"price" : 0, //물품가격
"link" : "", //물품정보링크
"benchmark" : 0 //물품성능
}
var count = 50;
request(url, function(error, response, html){
request(url, function(error, response, html){ //크롤링
if(!error){
var $ = cheerio.load(html);
var i = 0;
$('ul.chartlist > li > a').each(function(){
info = new Object();
var data = $(this);
info.name = data.find("span.prdname").text();
info.price = Number(data.find("span.price-neww").text().split(',').join(''));
info.link = data.attr("href");
info.name = data.find("span.prdname").text(); //물품 이름
info.price = Number(data.find("span.price-neww").text().split(',').join('')); //물품 가격
info.link = data.attr("href"); //물품 정보링크
info.benchmark = Number(data.find("span.mark-neww").text()); //물품 성능
Graphic_card_info.push(info);
i++
if(i >= count){//50개만 저장
return false;
}
})
for(var i = 1; i <= count; i++){
console.log(i + "."+Graphic_card_info[i].name+" - ("+Graphic_card_info[i].price+"$) - link : "+Graphic_card_info[i].link);
console.log(i + "."+Graphic_card_info[i].name+" - ("+Graphic_card_info[i].price+"$) - link : "+Graphic_card_info[i].link + " /benchmark : "+Graphic_card_info[i].benchmark);
}
}
});
router.get('/',function(req,res){
console.log('Main page');
res.render('main',{});
res.render('main',{});//메인 페이지
});
router.get('/rank',function(req,res){
console.log('Rank page');
res.render('rank',{
res.render('rank',{ //전체순위(가성비)
graphic_card_info : Graphic_card_info,
count : count
});
......@@ -53,15 +54,16 @@ router.get('/rank',function(req,res){
router.post('/search',function(req,res,next){
console.log('Money : ' + req.body.money);
var Money = req.body.money;
var Money = req.body.money; //입력한 예산
var Searchlist = new Array();
var Searchcount = 0;
Searchlist[0] = {
"name" : "",
"price" : 0,
"link" : ""
"link" : "",
"benchmark" : 0
};
for(var i = 1; i <= count; i++){
for(var i = 1; i <= count; i++){ //가격이 예산이하인 물품만 저장
if(Graphic_card_info[i].price <= Money){
Searchlist.push(Graphic_card_info[i]);
Searchcount++;
......