区域选择器
或者叫做切片选择器
,指先按照该规则对HTML内容进行切片 ,然后再分别再在这些切片里面进行相关的选择。
当采集列表的时候,建议设置这个参数。
//第一种写法:没有用到[区域选择器] $ql = QueryList::get('http://www.baidu.com/s?wd=QueryList')->rules([ 'title'=>array('h3','text'), 'link'=>array('h3>a','href') ]); //第二种写法:用选择器'h3'对内容切片,然后分别在这些切片中执行采集规则 $ql = QueryList::get('http://www.baidu.com/s?wd=QueryList')->rules([ // 获取当前切片的整个text内容 'title'=>array('','text'), // 获取当前切片下的a标签链接 'link'=>array('a','href') ])->range('h3');
还有更直接的查询方式
QueryList::html($html)->rules($rules)->range($range)->query(); QueryList::rules($rules)->html($html)->range($range)->query(); QueryList::range($range)->rules($rules)->html($html)->query();
真的是很优雅,比用正则查询方便快速多了