企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
采用接口 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)