图片下载
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user