Query( ) 메인 메소드



    Query() 정적 메서드

    반환값: QueryList 개체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

    Query 메서드는 QueryList의 유일한 기본 메서드이며 정적 방식으로 호출됩니다. 🎜🎜프로토타입: 🎜
    🎜QueryList::Query($page,array $rules, $range = '', $outputEncoding = null, $inputEncoding = null,$removeHead = false)🎜
    🎜중국어 설명:🎜rrreee

    매개변수 설명:

    $page 수집된 대상 페이지

    🎜Type: string
    크롤링할 웹페이지의 URL 주소(지원 https) 또는 HTML 코드 조각🎜

    $rules 수집 규칙

    🎜Type: array🎜
    • 규칙 이름
      규칙 이름은 임의로 선택할 수 있습니다. , 반복되지 않는 한.
    • jQuery 선택기
      모든 CSS3 선택기, jQuery 선택기와 완전히 공통됨
    • 수집할 속성 rrreee
    • li>
    • 🎜필터 태그 목록🎜rrreee🎜설명: 빼기 기호가 있는 것과 없는 것의 차이점은 빼기 기호가 있는 경우 해당 태그는 다음을 포함하여 제거된다는 것입니다. 그 안의 태그 모든 콘텐츠. 빼기 기호가 없으면 해당 태그만 제거되고 태그 내의 콘텐츠는 제거되지 않습니다.🎜
      🎜예: 콘텐츠 필터링🎜
    • 🎜콜백 함수/전역 콜백 함수
      유형: 콜백
      콜백 함수에서 콘텐츠 교체, 완료 등 추가 작업을 수행할 수 있습니다. 링크, 사진 다운로드 등
      콜백 함수에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수는 선택한 콘텐츠이고 두 번째 매개변수는 선택기 배열 아래 첨자(즉, 규칙 이름)입니다. 콜백 함수는 전역 콜백 함수를 포함합니다.
      참고: 중첩된 다중 레벨 컬렉션에 대한 콜백 함수에서는 QueryList를 사용할 수 없습니다. 이러한 작업을 getData( ) 메서드의 콜백 함수로 연기하세요. 🎜

    $범위 지역 선택기(선택 사항)

    🎜유형: 문자열
    기본값: ''🎜 🎜 영역 선택기 또는 범위 선택기는 먼저 규칙에 따라 여러 개의 큰 블록을 선택한 다음 각 블록 내에서 관련 선택을 하는 것을 의미합니다. 목록을 수집할 때 이 매개변수를 설정하는 것이 좋습니다. 🎜
    🎜지역 선택기 예시 보기: http://doc.querylist.cc/site/index/doc/29🎜

    $outputEncoding 출력 인코딩(선택 사항)

    🎜Type: 문자열< /code>
    기본값:null🎜

    문자 깨짐을 방지하기 위해 출력할 인코딩(UTF-8, GB2312,…..)을 참조합니다. null이 설정되면 원래 문자열 인코딩이 변경되지 않습니다null则不改变原字符串编码

    $inputEncoding 输入编码(可选)

    类型:string
    默认值:null

    明确指定输入的页面编码格式(UTF-8,GB2312,…..),防止出现乱码,如果设置null则自动识别

    $removeHead  是否移除头部(可选)

    类型:bool
    默认值:false

    是否移除页面头部区域,乱码终极解决方案。
    注意:当这个参数设置为true

    $inputEncoding 입력 인코딩(선택 사항)< / h4>

    유형: string
    기본값: null

    🎜입력 페이지 인코딩 형식(UTF-8, GB2312,…..)을 명시적으로 지정합니다. 왜곡된 문자가 나타나는 것을 방지합니다. null을 설정하면 자동으로 인식됩니다🎜

    $removeHead 헤더 제거 여부(선택 사항)

    🎜Type: bool< br/>기본값: false🎜🎜페이지 헤더 영역을 제거할지 여부는 문자 깨짐에 대한 궁극적인 해결책입니다.
    참고: 이 매개변수가 true로 설정되면 페이지 헤드 영역의 콘텐츠를 선택할 수 없습니다. 🎜🎜