采集数据入库

    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();


       
           
      }

  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值