1 Star 0 Fork 252

linder / QueryList

forked from JAE / QueryList 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 3.55 KB
一键复制 编辑 原始数据 按行查看 历史
JAE 提交于 2016-01-14 11:29 . update readme

#QueryList交流社区: http://querylist.cc/ #QueryList文档: http://doc.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);

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

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"=>"全局回调函数"]
);

//注:方括号括起来的参数可选

参数解释:

查看文档:http://doc.querylist.cc/site/index/doc/11

QueryList 扩展

Request扩展

可以实现如携带cookie、伪造来路等任意复杂的网络请求,再也不用担心QueryList内置的抓取功能太弱了。

Login扩展

可以实现模拟登陆然后采集。

Multi扩展

多线程(多进程)采集扩展。

扩展通过QueryList::run 方法运行。

##QueryList 安装

composer require jaeger/querylist

包含QueyListy以及扩展的完整Composer配置如下:

{
    "require": {
        "jaeger/querylist": "^3.1",
        "jaeger/querylist-ext-request":"^1.0",
        "jaeger/querylist-ext-multi":"^1.0",
        "jaeger/querylist-ext-login":"^1.0"
    }
}

##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 : hj.q@qq.com
交流QQ群:123266961 
1
https://gitee.com/linzaida/QueryList.git
git@gitee.com:linzaida/QueryList.git
linzaida
QueryList
QueryList
master

搜索帮助