首页 > 学院 > 开发设计 > 正文

采集数据入库

2019-11-14 10:16:54
字体:
来源:转载
供稿:网友
    public function actionCai()     {          

      header("content-type:text/html;charset=utf-8");

     采集

      $url="http://gongyi.QQ.com/?ptlang=2052&ADUIN=421644867&ADsession=1481333812&ADTAG=CLIENT.QQ.5503_.0&ADPUBNO=26642";  

      $atr=file_get_contents($url);

  数据信息转码

       $atr = mb_convert_encoding($atr, 'utf-8', 'GBK');

      // var_dump($atr);die;

   页面的一个div匹配

      $PRe='#<div class="Q-tpList">.*</div>#is';       preg_match($pre,$atr,$data);

         // var_dump($data);die;

   div里面的标题数据信息匹配

      // $res1 = '#<em class=".*"><a target=".*" href="(.*)">(.*)</a></em>#isU';      $res1='#<em class="title"><a target="_blank" href=".*">(.*)</a></em>#isU';      preg_match_all($res1,$data[0],$ree);

       // var_dump($ree);

div里的第二个数据信息图片的表题

       $res2 = '#<a class="pic" target=".*" href=".*"><img width="200" height="130" src="(.*)"></a>#isU';                    preg_match_all($res2,$data[0],$ree2);          // var_dump($ree2);     div里第三个标题是的匹配数据信息的处理        $res3='#<div class="newsContent" style="display:none">(.*)</div>#isU';       preg_match_all($res3,$data[0],$ree3);        // var_dump($ree3);       //   $str ='';    数组的处理[1]带标签[2]内容     $arr=array();      for ($i=0; $i<count($ree2[1]); $i++) {            $arr[]=['title'=>$ree[1][$i],           'img'=>$ree2[1][$i],           'content'=>$ree3[1][$i]           ];            }

      // var_dump($arr);

     这里是采用yii框架入库

       $connection = /Yii::$app->db;        foreach ($arr as $key => $val)        {        $connection->createCommand()->insert('cai', [        'title' => $val['title'],        'content' =>$val['content'],        'img' => $val['img']        ])->execute();                        }  }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表