php自动采集列表内容,thinkphp自动采集怎么实现 - QueryList

9c98fe03383ffeca78ca12f3181f2137.png

...控项。/home/orabbix/conf/query.props这个文件中有一个QueryList,提供了需要的监控项,这个时候我们需要监控闪回区的空间使用,我们定义监控项为:arch_area_usage_perQueryList=xxxxxxx, arch_area_usage_per然后对于这个监控项,我...

thinkphp实现自动采集功能的三种方法:

方法一:QueryList

个人感觉比较好用,采集详情比较不错的选择,但是采集复杂一点的列表,不好用。具体使用:

控制器示例:public function index(){

// 使用采集类

// 使用手册 :http://www.df5d.com/php/php-QueryList3-ThinkPHP.html

import('Org.QL.QueryList');

$url = "http://www.zyctd.com/gqqg/";

$reg = array();

$reg['title'] = array('.sulist_title','text');

$reg['shuliang'] = array('.su_li1','html');

$obj = new \QueryList($url,$reg);

$data = $obj->jsonArr;

// foreach($data as $v){

// echo "
".$v['title'].'___'.$v['shuliang']."
";

// }

p($data);

}

相关推荐:《ThinkPHP教程》

方法二:simple_html_dom

这个方法比较适合采集一点结构简单的页面,HTML标签的类名比较明确的页面,还不错。具体使用:

控制器示例:public function index(){

// 参考文档:http://microphp.us/plugins/public/microphp_res/simple_html_dom/manual.htm#section_quickstart

// 下载地址:https://github.com/samacs/simple_html_dom/edit/master/simple_html_dom.php

// 使用方法:http://www.thinkdf5d.com/topic/21635.html

import("Org.Util.simple_html_dom", '', '.php');

$html = file_get_html('http://www.zyctd.com/gqqg/');

$ret = $html->find('.supply_list_box ul',0)->first_child();

foreach($ret as $v){

echo $v;

};

}

方法三:获取页面HTMl,进行正则匹配采集

举例一个Demo:

采集一个页面:

http://www.zyctd.com/gqqg/

我要获取上面的四个信息:标题,数量,时间,跳转链接。

获取这些信息,通过上面两种方法都采集不到,最后才选用的正则来采集。具体方法:public function index(){

$url = "http://www.zyctd.com/gqqg/";

// http://www.zyctd.com/gqqg-p1.html

$supplyDB = M('supply');

$urlList = array();

$array = array();

for($x=1; $x<=1; $x++) {

array_push($urlList,"http://www.zyctd.com/gqqg-p".$x.".html");

};

foreach($urlList as $v){

$curPageList = $this->getInfo($v);

array_push($array,$curPageList);

};

foreach($array as $v){

foreach($v as $vv){

//echo $vv['title']."__".$vv['weight']."__".$vv['time']."
";

$data = array();

$data['title'] = $vv['title'];

$data['weight'] = $vv['weight'];

$data['add_time'] = $vv['add_time'];

$data['url'] = $vv['url'];

//$res = $supplyDB->add($data);

//echo $res;

echo "

".$vv['title']."

".$vv['weight']."

".$vv['add_time']."

".$vv['url']."

";

}

}

// 获取信息

//$curPageList = $this->getInfo($html);

//p($curPageList);

}

private function getInfo($url){

$html = $this->getHtml($url);

$array = array();

// 匹配所有的标题

preg_match_all("#(.*?)

#",$html,$matches);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值