Code Monkey home page Code Monkey logo

querylist's Introduction

#QueryList交流社区: http://querylist.cc/ #QueryList交流QQ群:123266961 ╰☆邪恶 魔方☆

#QueryList简介


QueryList是一个基于phpQuery的通用列表采集类,是一个简单、 灵活、强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了。

#QueryList 使用

//获取采集对象
$hj = QueryList::Query('http://www.baidu.com/s?wd=QueryList',array('title'=>array('h3','text'),'link'=>array('h3>a','href')));
//输出结果:二维关联数组
print_r($hj->data);

上面的代码实现的功能是采集百度搜索结果页面的所有搜索结果的标题和链接,然后分别以二维关联数组的格式输出。 ###QueryList 静态方法

  • 主方法

    Query($page,array $regArr, $regRange = '', $outputEncoding = null, $inputEncoding = null,$removeHead = false)

一共有六个参数,后面四个参数是可选的,返回QueryList对象。

$page

类型: string
说明: 必选参数,要抓取的网页URL地址(支持https),或者是html源代码;这意味着你可以直接传一个网址给QueryList,也可以将通过自己的方式获取到的并经过你自己处理过的HTML源码传给QueryList

$regArr

类型: array
说明: 必选参数,选择器数组,格式array("名称"=>array("选择器","类型"[,"标签过滤列表"][,"回调函数"]),.......[,"callback"=>"全局回调函数"]);

  • 选择器:可以为任意的jQuery选择器语法
  • 类型:值 "text" ,"html" ,"HTML标签属性"
  • 标签过滤列表:可选,当标签名前面添加减号(-)时(此时标签可以为任意的元素选择器),表示移除该标签以及标签内容;否则当 类型 值为text时表示需要保留的HTML标签,为html时表示要过滤掉的HTML标签。有减号与没有减号的区别就在于,有减号时会移除那个标签包括那个标签内的所有内容,没有减号时只会移除那个标签并不会移除标签内的内容
  • 回调函数 / 全局回调函数:可选,字符串(函数名) 或 数组(array("类名","类的静态方法"))或 匿名函数,回调函数应有俩个参数,第一个参数是选择到的内容,第二个参数是选择器数组下标,回调函数会覆盖全局回调函数

$regRange

类型: array
默认值: ''
说明: 可选参数,块选择器,指 先按照规则 选出 几个大块 ,然后再分别再在块里面 进行相关的选择

$outputEncoding

类型: string
默认值: null
可选值: 'UTF-8','GB2312'等
说明: 可选参数,输出的编码格式,指要以什么编码输出(UTF-8,GB2312,.....),防止出现乱码,如果设置为 假值 则不改变原字符串编码

$inputEncoding

类型: string
默认值: null
可选值: 'UTF-8','GB2312'等
说明: 可选参数,输入的编码格式,明确指定输入的页面编码格式(UTF-8,GB2312,.....),防止出现乱码,如果设置为 假值 则自动识别

$removeHead

类型: bool
默认值: false
可选值: true,false 说明: 可选参数,是否移除页面头部区域,乱码终极解决方案。(注意:设置为true后将采集不到head区域的内容!)

  • 运行QueryList扩展方法

run($class,$args = array())

$class

类型: string
说明: 插件名称

$args

类型: mix
说明: 参数

###QueryList 属性

  • 得到多维数组格式的采集结果

    data

###QueryList 方法

  • 重新设置选择器

    void setQuery(array $regArr, $regRange = '',$outputEncoding = null, $inputEncoding = null,$removeHead = false)

    一共两个参数,第二个参数是可选的,参数意义同构造函数。

##QueryList 依赖库

phpQuery

phpQuery项目主页:https://code.google.com/p/phpquery/

##其它说明 QueryList 内置的只是简单的源码抓取方法,遇到更复杂的抓取情况,如:需要登陆 身份验证 时,请配合其它的PHP的HTTP类来使用,通过将辅助的HTTP类抓取到的网页源码传给QueryList即可。 ##DEMO站 微动态:http://querylist.jaekj.com/

  • thinkphp版本:V3.1.2
  • QueryList版本:V1.6
  • 后台地址: /admin
  • 后台账号密码: guest guest

这个demo站实现的功能相当于一个轻量级的微博站,内容全自动采集更新,可以自定义时间间隔采集任意站点的信息,自动更新到这个站点来,只需要在后台规则库简单的添加一条规则就可以实现全自动采集了,大家可以自行进入后台进行尝试,体验QueryList的魅力!

冷云搞笑:http://x.44i.cc/

##作者信息

Author : Jaeger
Email : [email protected]
交流QQ群:123266961 

querylist's People

Contributors

jae-jae avatar

Watchers

James Cloos avatar baitongda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.