QueryList一个基于phpQuery的采集工具

回复 星标
更多
«
QueryList一个基于phpQuery的采集工具
»
-
-

QueryList是一个基于phpQuery的通用列表采集类,是一个简单、 灵活、强大的采集工具。采集任何复杂的页面,基本上就一句话就能搞定了。关于phpQuery请移步《phpQuery,如jQuery一样轻松处理轻松处理DOM文档内容》,该篇文章详细介绍了phpQuery的功能和简单用法。

QueryList 使用入门»

以雷锋网为例,假设现在想要采集雷锋网首页的文章列表,按照下面步骤来(以谷歌浏览器为例):

1.打开雷锋网(http://www.leiphone.com/),可以观察到文章列表的样子如下图(点击放大)。

2.按快捷键F12或者在网页上面右键选择审查元素,调出开发者工具。

3. 首先我们获取块选择器,将指针放到每条文章块区域观察选择器,很容易就能观察到快选择器了(如下图),是每个IDpost-开头的div,那么块选择器就可以写成[id^=post-]

4. 现在要采集每条新闻的标题,将指针放到文章的标题上面,观察选择器(如下图),可以看到就是标题就是h3标签下的a标签,那么选择器就可以写成h3或者h3>a

5. 如果我现在还想获取每条文章的封面图片地址(如下图),同理可以得到选择器为.text_img img,取它的src属性就可以得到图片的链接地址了。

6.OK,得到选择器后下一步就是开始写PHP采集代码了,得到选择器再写代码就灰常简单了直接上代码。

//引入QueryList采集器

require 'ql/QueryList.class.php';

//要采集的目标网址

$url = "http://www.leiphone.com/";

//元素选择器

$reg = array(

"title" => array("h3","text"),

"img"   => array(".text_img img","src")

);

//块选择器

$rang = "[id^=post-]";

//采集

$hj = QueryList::Query($url,$reg,$rang);

//输入采集结果

print_r($hj->jsonArr);

如下图,非常轻松地采集回来了。


相关链接:

phpQuery,如jQuery一样轻松处理轻松处理DOM文档内容

QueryList选择器参考手册


QueryList项目地址:http://git.oschina.net/jae/QueryList

2015-06-22 20:10:49更新过
新窗口打开 关闭