完整源码下载地址 : https://github.com/cww0128/catch.git
抓取工具地址:https://querylist.cc/
原文链接:https://cssnb.com/index.php/archives/95/
欢迎进群讨论:310325131
public function homepage(){
$url='https://www.mzitu.com';
$rules=[
'detail'=>['#pins>li>a','href'],
'face'=>['#pins>li>a>img','data-original'],
'alt'=>['#pins>li>a>img','alt'],
];
$data = QueryList::get($url)->rules($rules)->query()->getData();
$rt=$data->map(function($item){
$item['count'] = $this->detail($item['detail']);
return $item;
})->all();
echo '<pre>';
var_dump($rt);
echo '</pre>';
}
/*获取详情页数*/
public function detail($url='https://www.mzitu.com/178724'){
$rules=[
'pagenavi'=>['.pagenavi','text']
];
$rt = QueryList::get($url,[
'headers'=>[
'Referer'=>$url,
]
])
->rules($rules)->query()->getData()->all();
return $this->cut('…','下一页',$rt[0]['pagenavi']);
}
//截取指定两个字符之间的字符串
public function cut($begin,$end,$str){
$b = mb_strpos($str,$begin) + mb_strlen($begin);
$e = mb_strpos($str,$end) - $b;
return mb_substr($str,$b,$e);
} 