php写的一个超短线选股程序(选股效果还是不错的)

<?php
 
/*
用php写的一个超短线T+1(第一天买第二天卖)的选股程序
每天早上9:26分运行9:30分买入股票,
第二天早上9:30卖出股票
程序采集了163早盘集合竞价放量的股票,以及益盟股票医生的智能分析和同花顺的个股诊断工具
*/ 
set_time_limit(0); // 取消超时断开
$url = 'http://quotes.money.163.com/hs/service/marketradar_ajax.php?page=0&query=STYPE%3AEQA&types=JHJJFL&count=28&type=query'; //将163的集合竞价网址存入变量$url
/*
匹配页码数
*/
$file = json_decode(file_get_contents($url), true);
$out = $file['list'];
$pageCount = (int)$file['pagecount'];
/*
获取每一页的股票代码并放入相应的数组
*/
for ($q = 1; $q < $pageCount; $q++)
{
    $url = 'http://quotes.money.163.com/hs/service/marketradar_ajax.php?page=' . $q .
        '&query=STYPE%3AEQA&types=JHJJFL&count=28&type=query';
    $file = json_decode(file_get_contents($url), true);
    foreach ($file['list'] as $v)
        $out[] = $v;
}
function get_symbol($ar)
{
    return $ar['SYMBOL'];
}
$symbol = array_map('get_symbol', $out);
/*
将数组中的代码组装到网址当中,并存入新的数组
*/
ob_end_clean();
echo str_pad('', 1024); // 设置足够大,大过php.ini的output_buffering设置值
$count = count($symbol);
for ($i = 0; $i <= $count - 1; $i++)
{
    preg_match_all('/^00|^30/', $symbol[$i], $sza);
    if ($sza[0])
    {
        $code[$i] = "sz";
    }
    else
    {
        $code[$i] = "sh";
    }
    $doctor[$i] = "http://stockapp.finance.qq.com/doctor/" . $code[$i] . $symbol[$i] .
        ".html";
    //echo $doctor[$i]."<br>";
    }
    
$datas=newfuc($doctor);

echo "163股票代吗获取成功"."<br>";
$shu=count($datas);
//echo $shu;
//the problem below!
for($sh=0;$sh<=$shu-1;$sh++)
{
	//echo $datas[$sh];
	
	preg_match_all('/强<\/span>股票走势/', $datas[$sh], $dac);
	//print_r($dac[0]);
    if($dac[0]!=null)
    {
    //echo $symbol[$sh]."<br>";
    $newurl[$sh]="http://doctor.10jqka.com.cn/".$symbol[$sh]."/";
   // echo $newurl[$sh]."<br/>";
    
    $akfile[$sh]=iconv("gb2312","utf-8",file_get_contents($newurl[$sh]));
    //echo $akfile;
   
    
    if (preg_match_all('/短线上涨概率较大/', $akfile[$sh]))
    {
    //print_r ($dac[0] ) 成本上方|;
    
    echo $symbol[$sh]."<br>";
    }
	}
}


echo "正则表达匹配成功";
    
    function newfuc($doctorz)
    {
    $mh = curl_multi_init(); 
    foreach ($doctorz as $j => $uri) { 
$conn[$j] = curl_init($uri); 
curl_setopt($conn[$j], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); 
curl_setopt($conn[$j], CURLOPT_HEADER ,0); 
curl_setopt($conn[$j], CURLOPT_CONNECTTIMEOUT,60); 
curl_setopt($conn[$j],CURLOPT_RETURNTRANSFER,true); // 设置不将爬取代码写到浏览器,而是转化为字符串
curl_multi_add_handle ($mh,$conn[$j]); 
} 
do { 
curl_multi_exec($mh,$active); 
} while ($active);

foreach ($doctorz as $j => $uri) { 
$data[$j]= curl_multi_getcontent($conn[$j]); // 获得爬取的代码字符串 
//echo $data[$j];
//注意各个数据源源码的编码必须一致
}
return $data;
}


flush();
    sleep(1);




?>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值