/**
* Created by PhpStorm.
* User: lenovo
* Date: 2020/8/3
* Time: 15:12
*/
require_once __DIR__ . './vendor/autoload.php';
use QL\QueryList;
use QL\Ext\Chrome;
/**获取列表数据
* @param $ql
* @param $page
*/
function getList($ql,$page){
$page->goto('https://www.cnblogs.com/');
// 这里故意设置一个很长的延长时间,让你可以看到chrome浏览器的启动
sleep(3);
//获取结果
$html = $page->content();
//用jquery选择器抽取结果
$rules = array(
'author'=>['article.post-item-body a.post-item-author','text'],
# 'title'=>['article.post-item-body div.post-item-text a.post-item-title','text'],//跳转网址
# 'url'=>['article.post-item-body div.post-item-text a.post-item-title','href'],//跳转网址
# 'description'=>['article.post-item-body div.post-item-text p.post-item-summary','text'],//描述
);
$ql = QueryList::html($html);
#列表结果
$rt = $ql->rules($rules)->query()->getData();
file_put_contents('json',json_encode($rt->all()));
echo json_encode( $rt );die;
}
$ql = QueryList::getInstance();
// 注册插件,默认注册的方法名为: chrome
$ql->use(Chrome::class);
// 或者自定义注册的方法名
$ql->use(Chrome::class,'chrome');
$text = $ql->chrome(function ($page,$browser)use($ql) {
getList($ql,$page);
//如果有需要,可以把$rt入库,以及做其他操作
sleep(10);
$browser->close();
// 返回值一定要是页面的HTML内容
# return $html;
},[
'headless' => false, // 启动可视化Chrome浏览器,方便调试
'devtools' => false, // 打开浏览器的开发者工具
])->find('h1')->text();
一键复制
编辑
Web IDE
原始数据
按行查看
历史