php抓取股票数据

 public function stock(){
        $curl = new Curl();       
        $curl->setUserAgent('Mozilla/5.0');
        $curl->get('http://stock.gtimg.cn/data/get_hs_xls.php?id=ranka&type=1&metric=chr');
        $file_name = date('Ymd').'.xls';
        $dataSet = '';
        if ($curl->error) {
            echo $curl->error_code;
        }
        else {            
            file_put_contents($file_name, $curl->response);
            //echo $curl->response;
            $objPHPExcel = PHPExcel_IOFactory::load($file_name);
            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            $objdata = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); 
            $date = date('Y-m-d',strtotime(date('Y',time()).'-'.$objdata['1']['B']));
            foreach ($objdata as $k=>$v){
                if($k>2){
                    $dataSet[]=array(
                        'dm'=>$v['A'],
                        'name'=>$v['B'],
                        'zxj' =>$v['C'],
                        'zdf' =>str_replace('%', '', $v['D']),
                        'zde' =>$v['E'],
                        'cjl' =>$v['H'],
                        'cje' =>$v['I'],
                        'jk' =>$v['J'],
                        'zs' =>$v['K'],
                        'zg' =>$v['L'],
                        'zd' =>$v['M'],
                        'data_time'=>$date,
                        'ctime'=>date('Y-m-d H:i:s',time()),                      
                    );
                }
            }
        }       
        if($dataSet) {
            db('record')->where('data_time',$date)->delete();
            db('record')->insertAll($dataSet);
            echo 'success';
        }else{
            echo 'false';
        }
        $curl->close();
        
    }

composer

{   
    "require": {
        "php": ">=5.4.0",
        "topthink/framework": "^5.0",
	"phpoffice/phpexcel": "^1.0",
	"curl/curl": "^1.0"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

  

CREATE TABLE `record` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `dm` varchar(64) DEFAULT NULL COMMENT '代码',
  `name` varchar(64) DEFAULT NULL COMMENT '名称',
  `zxj` decimal(10,2) DEFAULT NULL COMMENT '最新价',
  `zdf` decimal(10,2) DEFAULT NULL COMMENT '涨跌幅',
  `zde` decimal(10,2) DEFAULT NULL COMMENT '涨跌额',
  `cjl` double(20,0) DEFAULT NULL COMMENT '成交量',
  `cje` decimal(20,2) DEFAULT NULL COMMENT '成交额',
  `jk` decimal(10,2) DEFAULT NULL COMMENT '今开',
  `zs` decimal(10,2) DEFAULT NULL COMMENT '昨收',
  `zg` decimal(10,2) DEFAULT NULL COMMENT '最高',
  `zd` decimal(10,2) DEFAULT NULL COMMENT '最低',
  `data_time` datetime DEFAULT NULL COMMENT '交易日期',
  `ctime` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4096 DEFAULT CHARSET=utf8;

  

db类https://packagist.org/packages/joshcam/mysqli-database-class

原文地址:https://www.cnblogs.com/nowphp/p/6654054.html