Closed 54853315 closed 3 years ago
已经用querylist采集了几个网站了,非常不错,这是第一次遇到双class name无法采集到item的。
目标网址:https://www.17vape.com/portal.php?mod=list&catid=1
包裹item的元素是:<div class="bm_c xls"><dl>......</dl></div>。
<div class="bm_c xls"><dl>......</dl></div>
我尝试了多个range,我认为最贴切的2个range在下面的代码里,执行结果都是空的[]。
[]
//采集规则 $reg = [ 'detail_link' => ['dd>span>a', 'href'], //采集文章标题 'title' => ['dt>div>a>.img', 'alt'], 'image' => ['dt>div>a>.img', 'src'], 'brief' => ['dd>.span:eq(1)', 'text', '-a -.content_copyright -script'], ]; $rang = '.bm_c:eq(0)'; //现在使用的 // $rang = '.xls>dl'; //这是我最初使用的 try { // echo QueryList::get($url)->getHtml(); // worked $data = QueryList::get($url, [ 'timeout' => 30, ], $this->getRobotHeader())->rules($reg)->range($rang)->query()->getData()->all(); dd($data); // show empty []
这个问题跟标签多class没有关系,可能是选择器书写不正确,或者网页内容是动态加载的等其它原因
已经用querylist采集了几个网站了,非常不错,这是第一次遇到双class name无法采集到item的。
目标网址:https://www.17vape.com/portal.php?mod=list&catid=1
包裹item的元素是:
<div class="bm_c xls"><dl>......</dl></div>
。我尝试了多个range,我认为最贴切的2个range在下面的代码里,执行结果都是空的
[]
。