PHP学习

PHP抓取基金净值并计算

2017-02-13  本文已影响85人  梁烨端木

富国基金净值

最近用蚂蚁聚宝的慧定投买了富国中证500指数增强这只基金,想要计算下每周扣款之后能拿到多少份额。所以写了个计算页面,目标是用PHP爬取富国基金公司官网上的富国中证500指数增强这只基金的当天净值,然后按照实际扣款金额计算出所得份额。

<?php 
  //抓取整个页面
  $url="http://www.fullgoal.com.cn/"; 
  $contents = file_get_contents($url); 
  //依据抓取 到的页面按照table进行过滤
  $preg1='/<table[^>]*>(.*?) <\/table>/si';
  $res2="";
  preg_match_all($preg1,$contents,$res2);
  $res3=$res2[0][9];
  //echo $res3;
  //将过滤后的table再次按照td进行过滤
  $res4="";
  preg_match_all('/<td[^>]*>(.*?) <\/td>/si',$res3,$res4);
  $res5=$res4[0][0];
  //将给字符串按照空格拆分成数组
  $res6=explode(" ",$res5);
  //得到最终的基金净值和时间
  $funToday=$res6[27];
  $funValueToday=$res6[45];
  //对数据进行去空格和去html标签操作
  $fund1=trim($funValueToday);
  $fund2=strip_tags($fund1);
?>
<html>
    <head>
        <meta charset="utf-8"  />
        <title>慧定投计算器</title>
        <style type="text/css"> 
        /*全局样式设置*/  
        *{  
            margin:0px;  
            padding:0px;  
        }    
        body {  
            width:600px;  
            margin:10px auto;  
            font-size:14px;  
        }
        input:hover {
            border:1px solid #363636;
            box-shadow: 2px 3px 2px #888888;
        }   
        span {
            padding:20px;
            text-align: left;
        }
        /*局部设置*/
        .div1 {
            width: 600px;
            margin: 0px auto;
            text-align: center;
            padding-top: 10px;
        }
        .divP p {
            padding-top: 10px;
            width:300px;
            font-size:20px;
            font-style: inherit;
            text-align: center;
            margin:0px auto;
        }
        .divP h2{
            color: rgb(218,88,77);
            font-size: 2em;
        }
        .titlename {
            color: rgb(215,88,77);
        }
        
        input {
            width: 250px;
            height: 30px;
            margin:5px auto;
            text-align: left;
        }
        .subM {
            font-weight: bold;
            font-size: 22px;
            width: 200px;
            height: 30px;
            text-align: center;
            margin-top: 20px;
        }
        
        </style>
    </head>
    <body>
        <div class="div1">
            <div class="img1">
                <img src="http:https://img.haomeiwen.com/i4167376/d6f538037602f6cd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" /><br />
            </div>
            <form action="huidingtou-fuguo.php" method="post" class="form1">
                <div class="divP">
                    <p class="titlename"><h2>慧定投计算器</h2></p>
                    <p><h3>富国中证500指数增强</h3></p>
                    <p><?php echo "净值日期:".$funToday;?></p>
                <p><strong>慧定投实际扣款额:</strong></p><input type="text"  name="ShijikouK"  class="zongFe"value= <?php echo @$_POST['ShijikouK'];?>>><br />
                <input type="submit" value="计   算" class="subM" />
                </div>
            </form>
        </div>
    </body>
</html>
<?php
    //抓取页面输入的数据
    //实际扣款额
    $ShijikouK=$_REQUEST['ShijikouK'];
    //计算净申购额
    $jingshenE=$ShijikouK/(1+0.0015);
    //计算基金份额
    $fundShare=$jingshenE/$fund2;
        echo "<p style='font-size: 20px;text-align:center;padding-top:15px;'><strong>当天净值:</strong>".$fund2."元/份</p><p style='font-size: 20px;text-align:center;padding-top:15px;'><strong>净申购额:</strong>".round($jingshenE,2)."元</p><p style='font-size: 20px;text-align:center;padding-top:15px;'><strong>基金份额:</strong>".round($fundShare,2)."份</p>";
?>

最后效果:

PS:整体功能还很简陋,之后慢慢丰富吧T_T

上一篇下一篇

猜你喜欢

热点阅读