|
|
@@ -1,81 +0,0 @@
|
|
|
-<?php
|
|
|
-/**
|
|
|
- * @author:王刚涛
|
|
|
- * 用于获取当天各种指数
|
|
|
- * http://hq.sinajs.cn/list=s_sz000002
|
|
|
- */
|
|
|
-
|
|
|
-
|
|
|
-class Input_sina_immediate
|
|
|
-{
|
|
|
-
|
|
|
- /***
|
|
|
- * @param $code
|
|
|
- * @param $date
|
|
|
- * @return mixed
|
|
|
- * 日k线表 day_k_******(每月存一张表,比如boniu_day_k_202011)
|
|
|
- * 抓取当天的数据,结合腾讯的接口,每4秒抓取一条数据
|
|
|
- *
|
|
|
- */
|
|
|
- static public function get_day_k($code, $exchange)
|
|
|
- {
|
|
|
- $stock_code = $exchange . $code;
|
|
|
- $url = "http://hq.sinajs.cn/list=" . $stock_code;
|
|
|
- $content3 = self::curl_get_data($url);//封装为函数,
|
|
|
- if (empty($content3)) {
|
|
|
- throw new Exception('抓取的数据不能为空', 102);
|
|
|
- }
|
|
|
- $data['timestamp'] = time();
|
|
|
- $data['date'] = (int)date("Ymd", time());
|
|
|
- $data['code'] = $code;//股票代码此时去掉sh,sz
|
|
|
- $data['name'] = $content3[0];
|
|
|
- $data['open_price'] = floatval($content3[1]);//开盘价
|
|
|
- $data['close_price'] = floatval($content3[3]);//3点之后的当前价格就是收盘价
|
|
|
- $data['highest_price'] = floatval($content3[4]);//今日最高价
|
|
|
- $data['lowest_price'] = floatval($content3[5]);//今日最低价
|
|
|
- $data['amount'] = floatval($content3[8]);//成交的股票数,以百为单位
|
|
|
- $data['value'] = floatval($content3[9]);//成交金额以万为单位
|
|
|
-
|
|
|
- //调用腾讯接口获取其他数据
|
|
|
- $dataContent = Input_tencent_day_k::get_stock_data($code, $exchange);
|
|
|
- if (!empty($dataContent)) {
|
|
|
- $data["increase_price"] = empty($content1["increase_price"]) ? 0 : $content1["increase_price"]; // 涨跌价
|
|
|
- $data["increase_ratio"] = empty($content1["increase_ratio"]) ? 0 : $content1["increase_ratio"]; // 涨跌幅
|
|
|
- $data["turnover"] = empty($content1["turnover"]) ? 0 : $content1["turnover"]; // 换手率
|
|
|
- $data["pe_ttm"] = empty($dataContent["pe_ttm"]) ? 0 : $dataContent["pe_ttm"]; //pe_ttm市盈率
|
|
|
- $data["tradable_value"] = empty($dataContent["tradable_value"]) ? 0 : (int)($dataContent["tradable_value"] * 100000000);//流通市值
|
|
|
- $data["total_value"] = empty($dataContent["total_value"]) ? 0 : (int)($dataContent["total_value"] * 100000000); //总市值
|
|
|
- $data["pb"] = empty($dataContent["pb"]) ? 0 : $dataContent["pb"]; //市净率
|
|
|
- $data["pe_dynamic"] = empty($dataContent["pe_dynamic"]) ? 0 : $dataContent["pe_dynamic"]; //动态市盈率
|
|
|
- $data["pe_static"] = empty($dataContent["pe_static"]) ? 0 : $dataContent["pe_static"]; //静态市盈率
|
|
|
- }
|
|
|
- return Immediate_base::add($data);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /****
|
|
|
- * @param $url
|
|
|
- * @return array|bool|string
|
|
|
- * 对curl_setopt进行封装,消除代码冗余
|
|
|
- */
|
|
|
- static private function curl_get_data($url)
|
|
|
- {
|
|
|
- $curlHandle = curl_init();
|
|
|
- curl_setopt($curlHandle, CURLOPT_URL, $url);
|
|
|
- curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
|
|
|
- curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
- curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, false);
|
|
|
- curl_setopt($curlHandle, CURLOPT_TIMEOUT, 10);
|
|
|
- $content = curl_exec($curlHandle);
|
|
|
- curl_close($curlHandle);//防止中文乱码
|
|
|
- $content2 = iconv("gbk", "utf-8", $content);//子串
|
|
|
- $content3 = substr($content2, stripos($content2, "=\"") + 2); //获取 var hq_str_sz000002="万 科A,30.780,30.800,30.510, ="之后部分
|
|
|
- $content4 = substr($content3, 0, strripos($content3, "\";")); //获取 万 科A,30.94,0.14,0.45,584039,178827"; ";之前部分
|
|
|
- $content5 = explode(",", $content4);//分割
|
|
|
- return $content5;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-?>
|