调整代码块
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user