图片下载
This commit is contained in:
@@ -307,7 +307,7 @@ class UsedCarCrawlSingle
|
|||||||
|
|
||||||
$saveDir = public_path('uploads/usedcar/' . $carId);
|
$saveDir = public_path('uploads/usedcar/' . $carId);
|
||||||
$cars['used_car_id'] = $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'] = $image['image'];
|
||||||
$cars['image_pull'] = $image['image_pull'];
|
$cars['image_pull'] = $image['image_pull'];
|
||||||
|
|
||||||
@@ -320,14 +320,14 @@ class UsedCarCrawlSingle
|
|||||||
* @param array $images 原始相册URL列表
|
* @param array $images 原始相册URL列表
|
||||||
* @param string $path 本地保存目录
|
* @param string $path 本地保存目录
|
||||||
*/
|
*/
|
||||||
public function uploadAndRemove(array $images, string $path)
|
public function uploadAndRemove(array $images, string $path, string $referer = '')
|
||||||
{
|
{
|
||||||
if (empty($images)) {
|
if (empty($images)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载图片
|
// 下载图片
|
||||||
$filePatch = $this->downloadImageAlbum($images, $path);
|
$filePatch = $this->downloadImageAlbum($images, $path,$referer);
|
||||||
if (empty($filePatch)) {
|
if (empty($filePatch)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -390,7 +390,7 @@ class UsedCarCrawlSingle
|
|||||||
* @param string $saveDir 保存目录
|
* @param string $saveDir 保存目录
|
||||||
* @return array [原始URL => 保存路径或null]
|
* @return array [原始URL => 保存路径或null]
|
||||||
*/
|
*/
|
||||||
public function downloadImageAlbum(array $urls, string $saveDir): array
|
public function downloadImageAlbum(array $urls, string $saveDir, string $referer): array
|
||||||
{
|
{
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
@@ -405,7 +405,7 @@ class UsedCarCrawlSingle
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$path = $this->downloadImage($url, $saveDir);
|
$path = $this->downloadImage($url, $saveDir, $referer);
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
$path = null;
|
$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 (!is_dir($saveDir)) {
|
||||||
if (!@mkdir($saveDir, 0777, true) && !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;
|
$savePath = rtrim($saveDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $filename;
|
||||||
|
|
||||||
|
$referer = empty($referer) ? self::DEFAULT_HEADERS['Referer'] : $referer;
|
||||||
$defaultHeaders = [
|
$defaultHeaders = [
|
||||||
'User-Agent: ' . self::DEFAULT_HEADERS['User-Agent'],
|
'User-Agent: ' . self::DEFAULT_HEADERS['User-Agent'],
|
||||||
'Accept: image/avif,image/webp,image/apng,image/*,*/*;q=0.8',
|
'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) {
|
foreach ($headers as $h) {
|
||||||
|
|||||||
Reference in New Issue
Block a user