From 25891f2106240d2e6796fd67e3ed7631056a7fcd Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Fri, 23 Jan 2026 13:35:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/crawl/service/UsedCarCrawlSingle.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/common/utils/crawl/service/UsedCarCrawlSingle.php b/app/common/utils/crawl/service/UsedCarCrawlSingle.php index 2f3e55e..1459476 100644 --- a/app/common/utils/crawl/service/UsedCarCrawlSingle.php +++ b/app/common/utils/crawl/service/UsedCarCrawlSingle.php @@ -307,7 +307,7 @@ class UsedCarCrawlSingle $saveDir = public_path('uploads/usedcar/' . $carId); $cars['used_car_id'] = $carId; - $image = $this->uploadAndRemove($images, $saveDir); + $image = $this->uploadAndRemove($images, $saveDir, 'https://www.che168.com/'); $cars['image'] = $image['image']; $cars['image_pull'] = $image['image_pull']; @@ -320,14 +320,14 @@ class UsedCarCrawlSingle * @param array $images 原始相册URL列表 * @param string $path 本地保存目录 */ - public function uploadAndRemove(array $images, string $path) + public function uploadAndRemove(array $images, string $path, string $referer = '') { if (empty($images)) { return false; } // 下载图片 - $filePatch = $this->downloadImageAlbum($images, $path); + $filePatch = $this->downloadImageAlbum($images, $path,$referer); if (empty($filePatch)) { return false; } @@ -390,7 +390,7 @@ class UsedCarCrawlSingle * @param string $saveDir 保存目录 * @return array [原始URL => 保存路径或null] */ - public function downloadImageAlbum(array $urls, string $saveDir): array + public function downloadImageAlbum(array $urls, string $saveDir, string $referer): array { $result = []; @@ -405,7 +405,7 @@ class UsedCarCrawlSingle } try { - $path = $this->downloadImage($url, $saveDir); + $path = $this->downloadImage($url, $saveDir, $referer); } catch (Throwable $e) { $path = null; } @@ -420,7 +420,7 @@ class UsedCarCrawlSingle /** * 下载单张图片 */ - public function downloadImage(string $url, string $saveDir, ?string $filename = null, array $headers = []): ?string + public function downloadImage(string $url, string $saveDir, string $referer, ?string $filename = null, array $headers = []): ?string { if (!is_dir($saveDir)) { if (!@mkdir($saveDir, 0777, true) && !is_dir($saveDir)) { @@ -442,10 +442,12 @@ class UsedCarCrawlSingle $savePath = rtrim($saveDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $filename; + $referer = empty($referer) ? self::DEFAULT_HEADERS['Referer'] : $referer; $defaultHeaders = [ 'User-Agent: ' . self::DEFAULT_HEADERS['User-Agent'], 'Accept: image/avif,image/webp,image/apng,image/*,*/*;q=0.8', - 'Referer: ' . self::DEFAULT_HEADERS['Referer'], +// 'Referer: ' . self::DEFAULT_HEADERS['Referer'], + 'Referer: ' . $referer, ]; foreach ($headers as $h) {