queryList 配合 PhantomJS 插件 采集 JavaScript 动态渲染的页面
浏览量:74
composer
"jaeger/querylist": "^4.2",
"jaeger/querylist-phantomjs": "^4.0"
使用
require_once base_path().'/sdk/queryList/vendor/autoload.php';$this->ql = \QL\QueryList::getInstance();
$room_id = $this->bd_roomid;
$url = 'http://mbd.baidu.com/webpage?type=live&action=liveshow&room_id='.$room_id;
$data = $this->ql->browser(function (\JonnyW\PhantomJs\Http\RequestInterface $r) use ($url){
$r->setMethod('GET');
$r->setUrl($url);
$r->setTimeout(10000); // 10 seconds
$r->setDelay(3); // 3 seconds 这里的延时很重要
return $r;
})
->rules([
'avatar' => ['.msg-box-avatar', 'src'],
'username' => ['.msg-box-name', 'text'],
'text' => ['.msg-box-text', 'text'],
])
->range('.msg-box')
->queryData(); //array