采集数据入库

    xiaoxiao2021-03-26  49

    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();                           }   }
    转载请注明原文地址: https://ju.6miu.com/read-658880.html

    最新回复(0)