querylist 采集成功一次失败一次交替出现
第一次能采集到,第二次报错 未定义数组下标: 0
第三次又可以采集,这样交替出现问题。
代码如下,log出来没发现什么问题。
public function getOneTitle($content_html){
//采集规则
$content_rules = [
'title' => array('title', 'text') //文章标题
];
$content_ql = $this->ql->html($content_html)->rules($content_rules)->query();
$query = $content_ql->getData();
$data = $query->all();
if(empty($query->all()[0])){
Log::write('详情1>>>'.$content_html."<<<<<1详情end");
$html2 = $content_ql->getHtml();
Log::write('详情2>>>'.$html2."<<<<<2详情end");
var_dump($data);
}
$content = $data[0]['title'];
return $content;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
第一次和第二次采集的是同样的内容吗?把$query->all()打印出来看看, 第二次应该是没有选择到内容
这个问题,我也出现过,用getHtml是查获取是正常,但将获取 内容在ql->html()中加载,有时加载得上,有时会加载不到。非常奇怪的问题。如果只是看程序,这么几行,似乎没有问题。应该是querylist设计上的问题,后面将处理写为插件方式进行调用,就没有再出现过问题了。
请问楼主怎么解决的?
我现在也遇到了这个问题,采集一个页面的第1页没有问题,第2、3...页就全部失败,从第2页开始采集也没问题。
getHtml()获取到的html没问题,但是getData那里获取的的数据为空
querylist.php
可以尝试修改为这样