9월 5일 (수)

  • 비행기운행정보 (2007~2018 현재)를 CSV 파일 포맷으로 저장
     
    "use strict";
    var system = require('system');
    var args = system.args;
    var url_base = "http://www.airportal.go.kr/servlet/aips.life.airinfo.RaSkeCTL?cmd=c_getList&dep_airport=RKSS&arr_airport=RKPC&srch_type=dep¤t_dt_from=20070101¤t_dt_to=20180614®Cls=1&one_group=10&one_page=10000&curr_page=";
    
    function try_once(pageNo) {
      var page = require('webpage').create();
      page.onConsoleMessage = function(msg) {
        console.log(msg);
      };
    
      page.open(url_base + pageNo, function(status) {
        if (status === "success") {
          page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js", function() {
            page.evaluate(function() {
              var $contents_area=$("body>form>table >tbody>tr:nth-child(2) table tbody");
              $("tr", $contents_area).filter(function(){
                return ($(this).height() > 2 ) ? true : false;
              }).each(function(){
    					  var row = [];
                var $tr = $(this);
                $("td", $tr).filter(function() {
                  return ( $(this).height() <= 3 || $(this).width() <= 3 ) ? false : true;
                }).each(function() {
                  row.push( $(this).text().trim() );
    					  });
                console.log(row.join(','));
              });
            });
            phantom.exit(0);
          });
        } else {
          phantom.exit(1);
        }
      });
    }
    
    if( args.length < 1) {
      console.log( 'no pageNo' );
      phantom.exit(1);
    }
    
    try_once( parseInt(args[1]) );