Laravel-QueryList-采集


<?php namespace App\Http\Controllers; use App\Models\NewsModel; use Illuminate\Http\Request; use QL\QueryList; class NewsController extends Controller { public function caiji() { $url = "https://www.huodongxing.com/events?page=1"; $html = file_get_contents($url); $rule = [ 'title' => ['.item-title', 'text'], 'img' => ['.item-logo', 'src', '', function ($res) { //第一步 将一个文件读入一个字符串 $file = file_get_contents($res); //第二步 从url中取出文件名//第三步 拼接保存的路径 $file_url = "./uploads/image" . time() . basename($res); //第四步 将一个字符串写入文件中 file_put_contents($file_url, $file); // return substr($file_url, 1); }], 'addtime' => ['.date-pp', 'text'], 'views' => ['.browse-div', 'text'] ]; $data = QueryList::html($html) ->rules($rule) ->range('.search-tab-content-item-mesh') ->query() ->getData(); $result = $data->all(); $res = NewsModel::add($result); if ($res) { echo "采集成功"; } else { echo "采集失败"; } } }

 记得下载依赖哦~      composer require jaeger/querylist

posted @ 2021-06-08 16:58  青烟绕指柔  阅读(157)  评论(0编辑  收藏  举报