Automation/app/Controllers/CLI/Crawler.php
2024-09-02 19:08:15 +09:00

40 lines
1.5 KiB
PHP

<?php
namespace App\Controllers\CLI;
use App\Controllers\BaseController;
use App\Libraries\MyCrawler\YamapLibrary;
class Crawler extends BaseController
{
public function yamap()
{
try {
$library = new YamapLibrary("https://www.yamap16.com");
$mainPage = $library->getContent("/Board/List.aspx?id=free");
$links = $library->getLinks($mainPage);
//Image형식이나 , Viedeo형식의 Content를 가지고 있으면
log_message("debug", "viewLink-> " . $links[0]["href"]);
$viewPage = $library->getContent($links[0]["href"]);
// $viewPage = $library->getContent("/Board/View.aspx?id=free&ca=&rno=193046&page=1"); //Image
// $viewPage = $library->getContent("/Board/View.aspx?id=free&ca=&rno=193055&page=1"); //Video
$images = $library->getImages($viewPage);
foreach ($images as $image) {
log_message("debug", "Image-> " . $image['src']);
$library->download($image['src']);
}
$videos = $library->getVideos($viewPage);
foreach ($videos as $video) {
log_message("debug", "Video-> " . $video['src']);
$library->download($video['src']);
}
log_message("info", "완료되었습니다.");
return true;
} catch (\Exception $e) {
log_message("error", $e->getMessage());
return false;
}
}
}