获得源码帮助
![](https://img-blog.csdnimg.cn/08e879b360174be2839c61ab8ad7fc09.jpeg)
简介说明:
这里直接跳过原生的curl 的使用!不适合没有基础的同学学习哦!主要使用php中的QueryList框架。
querylist官网:Packagist
中文版网:QueryList|优雅的渐进式PHPDOM解析框架
环境要求:
PHP >= 7.1 版本以上
composer 1.0版本以上
安装环境:
在项目目录中:
composer require jaeger/querylist
Composer安装速度太慢?
如果composer安装速度太慢,可以尝试执行下面命令更换国内镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安装指定版本>最新4.0
composer require jaeger/querylist:~V4
简单使用:爬取百度https://www.baidu.com/中的图片
<?php
namespace app\index\controller;//php框架 tp框架引用,这个是我是用的一个tp框架
use QL\QueryList; //引用QueryList 主要
class Index
{
public function index()
{
//DOM解析某页面所有的图片
$data = QueryList::get('https://www.baidu.com')->find('img')->attrs('src');
//打印结果
print_r($data->all());
}
}
高级试用 匹配
我们用今日头条-的图片+地址+说明举个例子
//DOM解析开发者头条
$ql = QueryList::getInstance();
//注册一个myHttp方法到QueryList对象
$ql->bind('myHttp',function ($url){
$html = file_get_contents($url);
$this->setHtml($html);
return $this;
});
//然后就可以通过注册的名字来调用
$data = $ql->myHttp('https://toutiao.io')->find('h3 a')->texts();
print_r($data->all());
//或者这样用
$data = $ql->rules([
'title' => ['h3 a','text'],
'link' => ['h3 a','href']
])->myHttp('https://toutiao.io')->query()->getData();
print_r($data->all());