使用php laravel進行數據數據採集

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,去詳情頁獲取當前的列表所有信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章