PHP Class QL\QueryList

一个基于phpQuery的通用列表采集类
Author: Jaeger
Show file Open project: jae-jae/QueryList Class Usage Examples

Public Properties

Property Type Description
$data
$html
$instances

Public Methods

Method Description
Query ( string $page, array $rules, string $range = '', $outputEncoding = null, string $inputEncoding = null, boolean | false $removeHead = false ) : mixed 静态方法,访问入口
__construct ( )
getData ( callback $callback = null ) : array 获取采集结果数据
getHtml ( boolean | true $rel = true ) : string 获取目标页面源码(主要用于调试)
getInstance ( ) : mixed 获取任意实例
run ( $class, array $args = [] ) : mixed 运行QueryList扩展
setQuery ( array $rules, string $range = '', string $outputEncoding = null, string $inputEncoding = null, boolean | false $removeHead = false ) : QueryList 重新设置选择器

Private Methods

Method Description
_allowTags ( string $html, string $tags_str ) : string 保留特定的html标签
_arrayConvertEncoding ( array $arr, string $toEncoding, string $fromEncoding ) : array 转换数组值的编码格式
_getEncode ( $string ) : string 获取文件编码
_getList ( )
_isURL ( string $str ) : boolean 简单的判断一下参数是否为一个URL链接
_query ( $page, array $rules, $range, $outputEncoding, $inputEncoding, $removeHead )
_removeHead ( $html ) : mixed 移除页面head区域代码
_removeTags ( string $html, array $tags ) : string 移除特定的html标签
_request ( $url ) : string URL请求
_stripTags ( string $html, string $tags_str ) : string 去除特定的html标签
_tag ( $tags_str )

Method Details

Query() public static method

静态方法,访问入口
public static Query ( string $page, array $rules, string $range = '', $outputEncoding = null, string $inputEncoding = null, boolean | false $removeHead = false ) : mixed
$page string 要抓取的网页URL地址(支持https);或者是html源代码
$rules array 【选择器数组】说明:格式array("名称"=>array("选择器","类型"[,"标签过滤列表"][,"回调函数"]),.......[,"callback"=>"全局回调函数"]); 【选择器】说明:可以为任意的jQuery选择器语法 【类型】说明:值 "text" ,"html" ,"HTML标签属性" , 【标签过滤列表】:可选,要过滤的选择器名,多个用空格隔开,当标签名前面添加减号(-)时(此时标签可以为任意的元素选择器),表示移除该标签以及标签内容,否则当【类型】值为text时表示需要保留的HTML标签,为html时表示要过滤掉的HTML标签 【回调函数】/【全局回调函数】:可选,字符串(函数名) 或 数组(array("类名","类的静态方法")),回调函数应有俩个参数,第一个参数是选择到的内容,第二个参数是选择器数组下标,回调函数会覆盖全局回调函数
$range string 【块选择器】:指 先按照规则 选出 几个大块 ,然后再分别再在块里面 进行相关的选择
$inputEncoding string 【输入编码格式】明确指定输入的页面编码格式(UTF-8,GB2312,.....),防止出现乱码,如果设置为 假值 则自动识别
$removeHead boolean | false 【是否移除页面头部区域】 乱码终极解决方案
return mixed

__construct() public method

public __construct ( )

getData() public method

获取采集结果数据
public getData ( callback $callback = null ) : array
$callback callback
return array

getHtml() public method

获取目标页面源码(主要用于调试)
public getHtml ( boolean | true $rel = true ) : string
$rel boolean | true
return string

getInstance() public static method

获取任意实例
public static getInstance ( ) : mixed
return mixed

run() public static method

运行QueryList扩展
public static run ( $class, array $args = [] ) : mixed
$class
$args array
return mixed

setQuery() public method

重新设置选择器
public setQuery ( array $rules, string $range = '', string $outputEncoding = null, string $inputEncoding = null, boolean | false $removeHead = false ) : QueryList
$rules array
$range string
$outputEncoding string
$inputEncoding string
$removeHead boolean | false
return QueryList

Property Details

$data public property

public $data

$html public property

public $html

$instances public static property

public static $instances