Commit 14804614 by Phạm Văn Đoan

cập nhật lấy thông tin ca sĩ từ trang nct

parent 12f15b9a
...@@ -61,7 +61,6 @@ class UpdateTrackArtistCommand extends Command ...@@ -61,7 +61,6 @@ class UpdateTrackArtistCommand extends Command
echo "\n Bắt đầu cập nhật ca sĩ cho bài hát."; echo "\n Bắt đầu cập nhật ca sĩ cho bài hát.";
switch ($src) { switch ($src) {
case 'zing': case 'zing':
$track_id = []; $track_id = [];
...@@ -116,7 +115,28 @@ class UpdateTrackArtistCommand extends Command ...@@ -116,7 +115,28 @@ class UpdateTrackArtistCommand extends Command
} }
break; break;
case 'nct': case 'nct':
$track_id = [];
$track_id_fullname = [];
// Lấy top 100 -----------------------------------------------------------------------------------------
$url = config('api.nct.top100');
$url_playlist_top100 = config('api.nct.playlist_top100');
$tracks = $this->trackRepository->processNctGetTrackInfoFromTop100($url);
if ($tracks) {
foreach ($tracks as $key => $track) {
if (isset($track['title']) && isset($track['singer'])) {
$track_id[] = $track['id_nct'];
$track_id_fullname[$track['id_nct']] = $track['singer'];
}
}
}
if (count($track_id_fullname) > 0) {
$track_db = Track::select(['id', 'id_zing', 'id_nct', 'id_keeng', 'title'])
->whereIn('id_nct', $track_id)
->get();
$this->privateUpdateTrackSinger($src, $track_db, $track_id_fullname);
}
break; break;
case 'keeng': case 'keeng':
...@@ -127,33 +147,36 @@ class UpdateTrackArtistCommand extends Command ...@@ -127,33 +147,36 @@ class UpdateTrackArtistCommand extends Command
default: default:
} }
//print_r($track_id_fullname); die();
echo "\n Kết thúc cập nhật ca sĩ cho bài hát. \n"; echo "\n Kết thúc cập nhật ca sĩ cho bài hát. \n";
} }
private function privateUpdateTrackSinger($src, $track_db, $track_id_fullname) private function privateUpdateTrackSinger($src, $track_db, $track_id_fullname)
{ {
switch ($src) { echo "\n Cập nhật cho tổng số bài: " . $track_db->count();
case 'zing':
echo "\n Zing: Cập nhật cho tổng số bài: " . $track_db->count(); foreach ($track_db as $key => $track) {
foreach ($track_db as $key => $track) { switch ($src) {
$user = User::updateOrCreate( case 'zing': $src_track_id = $track->id_zing; break;
['full_name' => $track_id_fullname[$track->id_zing]], case 'nct': $src_track_id = $track->id_nct; break;
['user_type' => 2, 'updated_at' => Carbon::now()] case 'keeng': $src_track_id = $track->id_keeng; break;
); default: return false;
}
TrackUser::updateOrCreate( $user = User::updateOrCreate(
[ ['full_name' => $track_id_fullname[$src_track_id]],
'track_id' => $track->id, ['user_type' => 2, 'updated_at' => Carbon::now()]
'user_id' => $user->id );
],
['name' => $track_id_fullname[$track->id_zing]] TrackUser::updateOrCreate(
); [
'track_id' => $track->id,
echo "\n - Cập nhật xong Ca sĩ (ID: $user->id) cho bài hát (ID: $track->id)"; 'user_id' => $user->id
} ],
break; ['name' => $track_id_fullname[$src_track_id]]
case 'nct': break; );
case 'keeng': break;
echo "\n - Cập nhật xong Ca sĩ (ID: $user->id) cho bài hát (ID: $track->id)";
} }
} }
} }
...@@ -104,9 +104,14 @@ class TrackRepository extends BaseRepository ...@@ -104,9 +104,14 @@ class TrackRepository extends BaseRepository
} }
/* Lấy tên ca sĩ hát ---------------------------------------------------------------------------------------- */ /* Lấy tên ca sĩ hát ---------------------------------------------------------------------------------------- */
$element_track_singer = 'div.box_info_field h4.list_name_singer a'; $element_track_singer = 'div.box_info_field h3 a';
foreach ($dom->find($element_track_singer) as $data) { foreach ($dom->find($element_track_singer) as $data) {
$tracks['singer'][] = str_replace([], [], $data->innertext); $info = explode('-', $data->title);
if (count($info) >= 2) {
$tracks['singer'][] = trim($info[1]);
} else {
$tracks['singer'][] = '?';
}
} }
/* Lấy url thông tin cá nhân ca sĩ -------------------------------------------------------------------------- */ /* Lấy url thông tin cá nhân ca sĩ -------------------------------------------------------------------------- */
...@@ -142,6 +147,7 @@ class TrackRepository extends BaseRepository ...@@ -142,6 +147,7 @@ class TrackRepository extends BaseRepository
$result[$i]['title'] = $tracks['title'][$i]; $result[$i]['title'] = $tracks['title'][$i];
$result[$i]['link'] = $tracks['link'][$i]; $result[$i]['link'] = $tracks['link'][$i];
$result[$i]['img'] = $tracks['img'][$i]; $result[$i]['img'] = $tracks['img'][$i];
$result[$i]['singer'] = $tracks['singer'][$i];
} }
return $result; return $result;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment