40 lines
1.5 KiB
PHP
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;
|
|
}
|
|
}
|
|
}
|