调整代码块

This commit is contained in:
2026-01-23 10:40:03 +08:00
parent 323dbac221
commit 140e00821c
@@ -62,6 +62,57 @@ class UsedCarCrawlSingle
return $pcUrl;
}
/**
* 从移动端url获取sku_id
* @param string $url
* @return string|null
*/
public function getPcUrl(string $url): ?string
{
$query = parse_url($url, PHP_URL_QUERY);
if (!$query) {
return null;
}
parse_str($query, $params);
return !empty($params['sku_id']) ? 'https://www.dongchedi.com/usedcar/'.$params['sku_id'] : null;
}
/**
* 抓取懂车帝二手车信息
* @param string $url
* @return array
* @throws GuzzleException
*/
public function crawlCar(string $url){
$html = $this->fetchHtml($url);
if ($html === '' || str_contains($html, '404 Not Found')) {
throw new BusinessException("页面内容为空: {$url}");
}
$info = $this->parseUsedCarDetail($html, $url);
// $insertId = $this->saveUsedCarBasicInfo($info);
// 下载图片 + 上传 + 入库(图片失败不影响主记录)
$imagesArray = json_decode($info['images'] ?? '[]', true);
if (json_last_error() !== JSON_ERROR_NONE) {
$imagesArray = [];
}
$saveDir = public_path('uploads/usedcar/' . $info['used_car_id']);
$image = $this->uploadAndRemove($imagesArray, $saveDir);
$info['image'] = $image['image'];
$info['image_pull'] = $image['image_pull'];
// 继续派发配置页任务
// if (!empty($info['car_id_url'])) {
// $this->pushUrl($info['car_id_url'], 'config', $insertId);
// }
return $info;
}
/**
* 通过汽车之家分享链接获取pc端地址
*
@@ -140,57 +191,6 @@ class UsedCarCrawlSingle
return $pcUrl;
}
/**
* 从移动端url获取sku_id
* @param string $url
* @return string|null
*/
public function getPcUrl(string $url): ?string
{
$query = parse_url($url, PHP_URL_QUERY);
if (!$query) {
return null;
}
parse_str($query, $params);
return !empty($params['sku_id']) ? 'https://www.dongchedi.com/usedcar/'.$params['sku_id'] : null;
}
/**
* 抓取懂车帝二手车信息
* @param string $url
* @return array
* @throws GuzzleException
*/
public function crawlCar(string $url){
$html = $this->fetchHtml($url);
if ($html === '' || str_contains($html, '404 Not Found')) {
throw new BusinessException("页面内容为空: {$url}");
}
$info = $this->parseUsedCarDetail($html, $url);
// $insertId = $this->saveUsedCarBasicInfo($info);
// 下载图片 + 上传 + 入库(图片失败不影响主记录)
$imagesArray = json_decode($info['images'] ?? '[]', true);
if (json_last_error() !== JSON_ERROR_NONE) {
$imagesArray = [];
}
$saveDir = public_path('uploads/usedcar/' . $info['used_car_id']);
$image = $this->uploadAndRemove($imagesArray, $saveDir);
$info['image'] = $image['image'];
$info['image_pull'] = $image['image_pull'];
// 继续派发配置页任务
// if (!empty($info['car_id_url'])) {
// $this->pushUrl($info['car_id_url'], 'config', $insertId);
// }
return $info;
}
/**
* 抓取汽车之家数据
* @param Request $request