PHP语言学习之PHP 爬虫
小标 2019-03-12 来源 : 阅读 1184 评论 0

摘要:本文主要向大家介绍了PHP语言学习之PHP 爬虫,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言学习之PHP 爬虫,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

PHP语言学习之PHP 爬虫

1、爬虫的本质简单来说,就是读取页面源代码,然后用正则匹配得到想要的数据。


示例如下:


   private function spider_jiuyou_list($listname,$url)
    {                 
        $fcontents=file_get_contents($url);                                          //读取到字符串中  
        $table_data = preg_match_all(‘#<table>(.*?)</table>#si‘,$fcontents,$match);  //正则匹配
        if(!$table_data)return;

        $table_data = $match[0][0];                                                  //将需要的内容赋值给$table_data
        $table_array = explode(‘<tr>‘,$table_data);                                  //将字符串其变成一维数组
             
        $data = array();

        for($i=2;$i<count($table_array);$i++){
            $data[$i] = explode(‘</td>‘,$table_array[$i]);                           //将一维数组变成二维数组
            for($j = 0;$j<count($data[$i]);$j++){
                $data[$i][$j] = preg_replace(‘/\s(?=\s)/‘,‘‘,trim(strip_tags($data[$i][$j])));   //先把html标签去掉,然后去掉首尾空格,接着把中间的长空格变成一个空格
            }
            
            $data[$i][5] = ‘jiuyou‘;
            $data[$i][6] = $listname;
            $data[$i][7] = date(‘Y-m-d‘);
        }

        $kname = array(‘RANK‘, ‘GAME‘, ‘CATEGORY‘,‘BETA‘, ‘DATA‘,‘CHANNELNAME‘,‘LISTNAME‘, ‘THEDATE‘);
        foreach($data as $key=>&$val){
            $val = array_combine($kname,$val);                                       //把二维数组中的第二层键全部变成$kname中的值。
        }  

        for($i=2;$i<(count($data)+2);$i++){
            $this->db->insert(‘TBL‘,$data[$i]);
        }           
    }


2、$a是个json串。json_decode($a),则得到一个里面元素都是对象的数组。json_decode($a,true),就会转换成纯数组。


或者还有一种方法,将json_decode($a)的数组转换成纯数组。


  object_array((( = ()(((  =>[] = ->object_array(

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程