PHP 爬蟲——QueryList

 

 

前言:css

來了個任務說要作個電影網站,要寫個殼,數據直接從別人那扒。行吧!那就要學習下PHP爬蟲了。佔個博客,之後補充。http://study.querylist.cc/archives/6/html

 

以前開發抓取網頁上的東西,無非就是curl+正則。用curl去請求所要扒取的頁面,而後經過正則匹配去提取你所須要的內容。數組

 

可是查了下如今PHP爬蟲能夠經過使用QueryList來實現。能夠經過CSS的DOM選擇器來實現。瀏覽器

 

特性:網絡

  • 擁有與jQuery徹底相同的CSS3 DOM選擇器
  • 擁有與jQuery徹底相同的DOM操做API
  • 擁有通用的列表採集方案
  • 擁有強大的HTTP請求套件,輕鬆實現如:模擬登錄、僞造瀏覽器、HTTP代理等意複雜的網絡請求
  • 擁有亂碼解決方案
  • 擁有強大的內容過濾功能,可以使用jQuey選擇器來過濾內容
  • 擁有高度的模塊化設計,擴展性強
  • 擁有富有表現力的API
  • 擁有高質量文檔
  • 擁有豐富的插件
  • 擁有專業的問答社區和交流羣

內容:

composer

由於要作一個電影網站,因此此次利用QueryList來爬取電影網資源,此次爬取的是——玩的嗨TV, 網址:http://tv.wandhi.com/movielist/all/3.html。curl

首先,選取這網站主要是它是個解析站,去破解各大網站的電影資源供給觀看,建站也比較簡易,沒有啥限制防盜鏈啥的。固然所能爬取到的資源也比較少,也主要是電影播放資源豐富吧。模塊化

主要爬取....(採集好像比較好聽點)。本次主要採集了玩的嗨TV的電影列表頁面和電影播放頁面。學習

 

安裝:測試

安裝QueryList至關的簡單,打開項目目錄,運行compose命令進行安裝

composer require jaeger/guerylist

(注意點 PHP版本須要在7.0以上)

在控制器中引入相應的類就能夠開始使用了

use QL\QueryList;

 

使用:

先貼個小代碼

  /**
     * 採集電影首頁
     */
    public function film_list($page = 1){
        $path = '/movielist/all/'.$page.'.html';
        $rules = [
            'link' => ['.lazy', 'href'],
            'img' => ['.title>h5>a', 'src'],
            'name' => ['.lazy', 'title'],
            'score' => ['.score', 'html'],
            'actor' => ['.subtitle', 'html'],
        ];
        $data = QueryList::Query($this->url . $path, $rules)->data;
        return $data;
    }

從代碼中能夠很清楚的看出,使用QueryList的Query方法,參數爲採集地址和採集規則。

採集地址就是你所要採集頁面的網址。

採集規則是一個數組,結構「名字」=>[「css DOM選擇器」,‘DOM屬性’];

這樣就能夠採集到頁面數據。

一、電影列表頁面

頁面結構以下:

 

 爬取結果:

 

 二、電影播放頁面

頁面結構:

主要採集這兩個數據進行拼接就能得到視頻的播放地址。

採集結果:

對數據進行拼接就能夠得到視頻播放地址。

 

總結:此次採集相對簡單。QueryList還有提供了許多深層的方法,後面能夠在進行測試使用。主要是進行了簡易的採集,獲取了所需的數據,電影網也足夠了

 

結語:離職的最後一天,你會作些什麼?

相關文章
相關標籤/搜索