您的位置:首页 > 编程语言 > PHP开发

使用php laravel进行数据数据采集

2017-07-24 11:31 387 查看
1、本次使用QueryList强大的采集框架进行抓去数据

2、采集国家地理中文网:http://m.nationalgeographic.com.cn/,找到一个H5页面

3、分析dom结构

接下来我们开始使用QueryList。

本人采用wampserver+laravel5.1 进行抓取,首先引入QueryList类,不得不说composer是个很不错的东西,如果对composer不懂得同学可以去网上找些资料进行阅读

推荐:http://www.phpcomposer.com/。本次需要在本地安装composer才可以哦

1、composer require jaeger/querylist在项目根目录执行。也可以手动下载放到指定目录,其他的方式不多说了大家可以看下官网

2、直接上代码,本次抓取例子:http://m.nationalgeographic.com.cn/国家地理中文网的H5页面。

3、在控制器引入use QL\QueryList;

$url = 'http://m.nationalgeographic.com.cn/';定义一个url本次采集的地址

设置路由规则

 $rules = array(

     //采集class为two下面的超链接的链接

      'link' => array('#ajaxBox>.ajax_list dd a)','href'),//获取网站url

      'covPic'=>array('#ajaxBox>.ajax_list dd a img','src'),

      'title'=>array('#ajaxBox>.ajax_list dd a img','alt'),

      'desc'=>array('#ajaxBox>.ajax_list dl .ajax_dd_text','text'),      

    );

网站列表结构图:



通过规则,我们进行抓取列表  //创建数组

        $data = QueryList::Query($urls,$rules)->getData(function($item){

          return $item;

        });

$data就是我们要抓取当前的url列表,


类似这种,我们也可以通过当前抓去列表的url,去详情页获取当前的列表所有信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php laravel