미니 프로젝트/나만의 웹툰 목록 만들기

웹툰 스크래핑 2

벌게진눈 2016. 2. 1. 09:11
반응형

저번에 한것을 기준으로 몇가지 기능을 추가하였다.

첫번째로 시간을 입력받아서 요일별 페이지로 들어가 업데이트 된 목록들을 불러왔다.

네이버 같은 경우는 전날 밤 11시부터 올라오기 시작하므로 기준시간에서 1시간을 더하였다. 


그리고 다음이나 카카오페이지의 웹툰같은경우는 소스코드 보기에서 목록들의 내용이 나오질 않았다. 그래서 이부분은 좀더 고민해봐야 할것 같다.


그리고 데이터를 JSON포맷에 맞게 출력하도록 하였다. console.log를 통하여 출력을 되지만 많이 부족한 점이 많아서 이부분또한 앞으로 고쳐갈 것이다.


///////////// 요일 전체에서 받아오는 것


var request = require('request');

var cheerio = require('cheerio');


var days = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];


function choiceDay(){

   var today = new Date();

   var naverTime = today.getHours()+1;

   

   today.setHours(naverTime);

   

   var day = days[today.getDay()];

   

   return day;

}

var dayUrl = choiceDay();


var naverUrl = "http://comic.naver.com/webtoon/weekdayList.nhn?week=" + dayUrl;


request(naverUrl, function(err, res, html){

   if(!err){

      var $ = cheerio.load(html);

         

      $(".thumb").has('.ico_updt').each(function(i) {

         var hrefTitleLink = $(this).children();

       var srcLink = $(this).children().children().first();

         var artistLink = $(this).next().children().eq(1).children();


       var addr = hrefTitleLink.attr('href');

         var title = hrefTitleLink.attr("title");

       var img = srcLink.attr('src');

       var artist = artistLink.text();

       

      

       console.log('----------------------------------'+i);


      var webtoonObj = {

         title : title,

         artist : artist,

         imgUrl : img,

         url : 'http://comic.naver.com'+addr

      };

      var webtoonStr = JSON.stringify(webtoonObj);

      console.log(webtoonStr);



      });


   }

});






반응형