Query( ) 主方法



    ###

    Query() 靜態方法

    傳回值:QueryList物件

    #Query方法為QueryList唯一的主方法,以靜態的方式呼叫。

    原型:

    QueryList::Query($page,array $rules, $range = '', $outputEncoding = null, $inputEncoding = null ,$removeHead = false)

    中文解釋:

    QueryList::Query(采集的目标页面,采集规则[,区域选择器][,输出编码][,输入编码][,是否移除头部])//采集规则$rules = array(   '规则名' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),   '规则名2' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),    ..........    [,"callback"=>"全局回调函数"]);//注:方括号括起来的参数可选

    ##參數解釋:


    • $page 採集的目標頁面
      類型:
    • string
    • 要抓取的網頁URL位址(支援https);或是html程式碼片段
    • $rules 擷取規則
    • 類型:

      array

      ##規則名稱

      規則名稱隨便取,只要不重複就行。

      jQuery選擇器
    • 任意CSS3選擇器,與jQuery選擇器完全通用

      要擷取的屬性

      值为以下3种:  1.text:返回当前选中标签下面的纯文本  2.html:返回当前选中标签下面的html片段  3.[HTML标签属性]:如src、href、name、data-src等任意HTML标签属性名


      #過濾標籤清單
      如果要使用QueryList的内容过滤功能,就请设置这个参数,多个值之间用空格隔开  1.当标签名前面添加减号(-)时(此时标签可以为任意的jQuery选择器),表示移除该标签以及标签内容。  2.当标签名前面没有减号(-)时,当 [要采集的属性] 值为text时表示需要保留的HTML标签,为html时表示要过滤掉的HTML标签

      說明:有減號與沒有減號的差別就在於,有減號時會移除那個標籤包括那個標籤內的所有內容,沒有減號時只會移除那個標籤並不會移除標籤內的內容範例:內容過濾

    ##回呼函數/全域回呼函數類型:callback

    在回呼函數裡面可以做任意額外的事情,如:替換內容、補全鏈接,下載圖片等等;

    回呼函數有兩個參數,第一個參數是選擇到的內容,第二個參數是選擇器陣列下標(也就是規則名稱),回呼函數會覆寫全域回調函數。
    注意:回呼函數裡面不能使用QueryList進行巢狀多層級擷取,請將這些運算延遲到

    getData( )

    方法的回呼函數中去使用。

    $range 區域選擇器(可選)

    類型:string預設值:''

    區域選擇器
    或說範圍選擇器,指先依照規則選出幾個大塊,然後再分別在塊裡面進行相關的選擇。當採集清單的時候,建議設定這個參數。

    ######查看區域選擇器範例:http://doc.querylist.cc/site/index/doc/29################## ###$outputEncoding 輸出編碼(可選)######類型:###string######預設值:###null######

    指要以什麼編碼輸出(UTF-8,GB2312,…..),防止出現亂碼,如果設定null則不改變原始字串編碼

    $inputEncoding 輸入編碼(可選)

    類型:string
    預設值:null

    明確指定輸入的頁面編碼格式(UTF-8,GB2312,…..),防止亂碼出現,如果設定null則自動辨識

    #$removeHead  是否移除頭部(可選)

    類型:bool
    預設值:false

    ##是否移除頁面頭部區域,亂碼終極解決方案。


    注意:當這個參數設定為true的時候,無法選擇頁面中head區域裡面的內容。