采用接口 composer QueryList
数据采集分为三步,
第一步 采集列表页中 详情页面的URL curl 多线程采集
第二步 采集详情页面中的内容 curl 多线程采集
第三部 下载列表和详情页面图片(通过采集工具采集图片, 因为采集图片太慢,推荐八爪鱼图片采集工具)
```
~~~
/**
下载图片方法 该方法执行效率太慢
**/
public function download($url)
{
$header = array("Connection: Keep-Alive", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3", "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
$content = curl_exec($ch);
$curlinfo = curl_getinfo($ch);
curl_close($ch);
if ($curlinfo['http_code'] == 200) {
if ($curlinfo['content_type'] == 'image/jpeg') {
$exf = '.jpg';
} else if ($curlinfo['content_type'] == 'image/png') {
$exf = '.png';
} else if ($curlinfo['content_type'] == 'image/gif') {
$exf = '.gif';
}
$filename = date("YmdHis") . uniqid() . $exf;
//图片地址 必须使用绝对路径
$filepath = WEB_PATH.'/public/images/'.$filename;
$res = file_put_contents($filepath, $content);
}
}
~~~
```
文档地址 [http://www.querylist.cc/docs/guide/v4/scraper-list](http://www.querylist.cc/docs/guide/v4/scraper-list)
- ThinkPHP
- MySql
- 事务
- 漏洞修复
- jQuery
- select搜索下拉框,多选,全选等
- 移动端富文本编辑器
- 复制内容
- ajax请求
- PHP
- 基本语法
- 关于屏蔽“未定义数组下标:0”错误的问题
- PHP文件操作
- 使用PhpOffice 在PHP7.3中导出数据报错问题
- curl
- PHP生成PPT
- Redis
- 如何在PHP中安装Redis扩展
- Redis队列,秒杀,抢购
- 压力测试(ab)
- apache ab压力测试
- 微信
- 微信支付
- 微信分享
- 授权登录
- 微信公众号服务器
- 自动回复
- 微信发起支付html页面
- composer
- 安装
- 二维码的生成
- Excel导入导出
- 数据采集
- 采集列表
- 采集内容详情
- 图片采集
- Linux
- 常用命令
- 解压压缩
- 服务器
- 服务器运行缓慢的原因
- IIS 隐藏index.php
- 端口检测
- Nginx
- 数据库
- Oracle数据库
- MySql
- 新增MySql
- Field字段
- Tp验证码加载不出来,解决办法
- API接口
- Google API
- 织梦CMS支付接口
- SMTP发送邮箱问题
- Could not connect to SMTP host
- 阿里云API接口
- 支付宝新版配置
- 腾讯API接口
- 安装方法
- 百度地图API
- 通过ip地址获取当前城市
- 常用笔记
- yarn