function scrap($url, $inicioDeAlbum, $url2, $hashDIR) { $html = file_get_html($url); // Obtener imagenes de los albunes foreach ($html->find('.wall_block > img') as $element) { $imagenesLinks = $element->src; // Si la imagen se repite, y no es la primera del album la funcion se termina if (strcasecmp($imagenesLinks, $inicioDeAlbum) == false && !$GLOBALS['scrapOne']) { // crear un zip con las imagenes exec('zip -r ' . $hashDIR . ' ./fotologs/' . $_POST['name'] . "_" . $hashDIR); echo "hash" . $hashDIR; // Se termina la execucion de la funcion exit; } // Cambiar la terminacion para obtener la imagen mas grande $imaganesReady = str_replace("_t", "_f", $imagenesLinks); echo $imaganesReady . "\n"; $hashrandom = substr(md5(microtime()), 1, 22); $hashrandom2 = substr(md5(microtime()), 1, 22); file_put_contents("./fotologs/" . $_POST['name'] . "_" . $hashDIR . "/" . $hashrandom . "_" . $hashrandom2 . ".jpg", file_get_contents($imaganesReady)); // Cuando cambia de la primera esto se desactiva para permitir el cambio de pagina $GLOBALS['scrapOne'] = false; } // Sumar 30 a la url actual para cambiar de album (fotolog ordena los albunes de 30 en 30) $numero = $GLOBALS['paginacion'] = $GLOBALS['paginacion'] + 30; $url = $url2 . $numero; // Empezar el proceso nuevamente con la url actualizada en la paginacion scrap($url, $inicioDeAlbum, $url2, $hashDIR); }
<?php require "db_config.php"; ini_set('safe_mode', false); date_default_timezone_set('Asia/Taipei'); scrap($db, date("Y"), date("m"), date("d"), date("Y-m-d")); function scrap($db, $y, $m, $d, $time) { $postFields = array('strYear' => $y, 'strMonth' => $m, 'strDay' => $d); try { $url = 'http://g1.taisugar.com.tw/Sugar/Sugar_show_His.asp'; $sugar = curl($url, $postFields); $packtSugarXpath = returnXPathObject($sugar); $td = $packtSugarXpath->query('//td'); // return DOMNodeList $td_title = $td->length; $td_first = 13; $td_second = 14; $td_third = 15; $td_diff = 7; if ($td_title > 13) { $pid = filter_var($td->item($td_first)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $kg = filter_var($td->item($td_second)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $bag = filter_var($td->item($td_third)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $result['pid'] = clean($pid); $result['pricePerKg'] = $kg; $result['pricePerBag'] = $bag; $result['time'] = $time; while ($result['pid'] != '01021050') { $td_first = $td_first + $td_diff; $td_second = $td_second + $td_diff;
$insert = $conn->query($insertGroup); $returnGroup = "SELECT `id` FROM `group` WHERE `name` = '{$g}' ORDER BY `id` DESC"; $return = $conn->query($returnGroup); if ($return->num_rows > 0) { $dbGroup = $return->fetch_assoc(); array_push($groupId, $dbGroup['id']); } } } $selectMangaId = "SELECT `id`, `title` FROM `manga` WHERE `title` LIKE '{$title}' LIMIT 1"; $selectMangaIdResult = $conn->query($selectMangaId); if ($selectMangaIdResult->num_rows > 0) { $dbManga = $selectMangaIdResult->fetch_assoc(); $mangaId = $dbManga['id']; } else { $mangaId = scrap($link, $title); } $checkExistSql = "SELECT `id` FROM `release` WHERE `manga_id`='{$mangaId}' AND `volume`='{$volume}' AND `chapter`='{$chapter}' AND `date`='{$description}'"; $checkExist = $conn->query($checkExistSql); if ($checkExist->num_rows == 0) { $insertReleaseSql = "INSERT INTO `release` (`manga_id`, `volume`, `chapter`, `date`) VALUES ('{$mangaId}','{$volume}','{$chapter}','{$description}')"; $insertRelease = $conn->query($insertReleaseSql); $returnReleaseSql = "SELECT `id` FROM `release` WHERE `manga_id` = '{$mangaId}' ORDER BY `id` DESC LIMIT 1"; $returnRelease = $conn->query($returnReleaseSql); if ($returnRelease->num_rows > 0) { $dbRelease = $returnRelease->fetch_assoc(); $releaseId = $dbRelease['id']; } unset($mangaId); foreach ($groupId as $gid) { $insertGroupReleaseSql = "INSERT INTO `group_release`(`group_id`,`release_id`) VALUES ('{$gid}','{$releaseId}')";
<?php if (!empty($_GET['y']) && !empty($_GET['m']) && !empty($_GET['d'])) { require "db_config.php"; ini_set('safe_mode', false); date_default_timezone_set('Asia/Taipei'); scrap($db, $_GET['y'], $_GET['m'], $_GET['d'], date($_GET['y'] . "-" . $_GET['m'] . "-" . $_GET['d'])); } else { echo 'please input query year, month and day'; } function scrap($db, $y, $m, $d, $time) { $postFields = array('strYear' => $y, 'strMonth' => $m, 'strDay' => $d); try { $url = 'http://g1.taisugar.com.tw/Sugar/Sugar_show_His.asp'; $sugar = curl($url, $postFields); $packtSugarXpath = returnXPathObject($sugar); $td = $packtSugarXpath->query('//td'); // return DOMNodeList $td_title = $td->length; $td_first = 13; $td_second = 14; $td_third = 15; $td_diff = 7; if ($td_title > 13) { $pid = filter_var($td->item($td_first)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $kg = filter_var($td->item($td_second)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $bag = filter_var($td->item($td_third)->nodeValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $result['pid'] = clean($pid); $result['pricePerKg'] = $kg; $result['pricePerBag'] = $bag;