$fuente, // Conexión directa CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_TIMEOUT => 20, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", CURLOPT_HTTPHEADER => [ "Accept: text/html", "Referer: https://dp.mycraft.click", "Origin: https://dp.mycraft.click" ] ]); $html = curl_exec($ch); $http = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http !== 200 || !$html) { echo json_encode(["error" => "Error de red al conectar con la fuente", "http" => $http]); exit; } libxml_use_internal_errors(true); $dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); $rows = $xpath->query("//tr"); $eventos_limpios = []; // --- REGLAS DE EXCLUSIÓN --- $EXCLUSIONES_CATEGORIA_SOLO = ["VOLLEYBALL", "RUGBY", "HANDBALL", "BILLIARD", "SNOOKER", "BEACH VOLLEYBALL", "DARTS", "GOLF", "CYCLING", "TENNIS", "LACROSSE", "WINTER SPORTS"]; $EXCLUSIONES_LIGAS_SECUNDARIAS = ["THAILAND", "MALAYSIA", "ALBANIA", "A-LEAGUE", "ELITESERIEN", "ENGLAND LEAGUE ONE", "ENGLAND LEAGUE TWO", "ENGLAND NATIONAL LEAGUE", "SCOTLAND 2ND", "SPAIN LIGA F", "SERIE B", "SERIE C", "RUSSIA", "SLOVENIA", "CROATIA PRVA NL", "2. BUNDESLIGA", "TOPPSERIEN", "OBOS-LIGAEN", "AUSTRIA BUNDESLIGA", "LALIGA2", "3. LIGA", "MAXA LIGA", "DENMARK 1ST DIVISION", "BUNDESLIGA WOMEN", "CAF CHAMPIONS LEAGUE", "CZECH REPUBLIC", "POLAND 1. LIGA", "CROATIA HNL", "ALLSVENSKAN", "SLOVAKIA", "BELGIUM 1B", "UAE LEAGUE", "EERSTE DIVISIE", "SERBIA", "MONTENEGRO", "SWISS SUPER LEAGUE", "SWISS CHALLENGE LEAGUE", "USL", "BULGARIA", "SCOTLAND", "EKSTRAKLASA", "GREECE", "ROMANIA", "POLAND DIV 1", "J2 LEAGUE", "J3 LEAGUE", "NWSL", "FUTSALL", "PREMIER LEAGUE INTERNATIONAL CUP", "K LEAGUE 2", "ISRAEL LEUMIT LEAGUE", "CAF CONFEDERATION CUP", "DENMARK", "ISRAEL LIGAT HA'AL", "K LEAGUE 1", "J1-LEAGUE", "COLOMBIA PRIMERA B", "MOLDOVA", "CROATIAN CUP", "LIGA BIH", "POLISH CUP", "SLOVAK CUP", "SWISS CUP", "EGYPT", "LANDSPOKAL CUP", "MOL CUP", "GREEK CUP", "BAHRAIN"]; $EXCLUSIONES_PALABRA_CLAVE_GLOBAL = ["NCAA", "WTA", "G LEAGUE", "HOCKEY", "NHL", "ECHL", "AHL", "PWHL", "CHL", "DEL", "SWISS NATIONAL LEAGUE", "F2", "LACROSSE", "NLL", "AEW"]; foreach ($rows as $row) { $td = $row->getElementsByTagName("td"); if ($td->length < 5) continue; $hora_original = trim($td->item(0)->textContent); $categoria = trim($td->item(1)->textContent); $info = trim($td->item(2)->textContent); $titulo_original = trim($td->item(3)->textContent); if ($td->length >= 6) { $titulo_original .= " " . trim($td->item(4)->textContent); } $link_input = $td->item($td->length - 1)->getElementsByTagName("input")->item(0); $link = $link_input ? trim($link_input->getAttribute("value")) : ""; if ($link === "") continue; $categoria_upper = strtoupper($categoria); $info_upper = strtoupper($info); $titulo_upper = strtoupper($titulo_original); $excluir = false; $es_partido_top_saudi = false; if ($categoria_upper === "SOCCER") { if ( strpos($info_upper, "SAUDI") !== false || strpos($titulo_upper, "AL AHLI") !== false || strpos($titulo_upper, "AL NASSR") !== false || strpos($titulo_upper, "AL HILAL") !== false || strpos($titulo_upper, "REAL MADRID") !== false ) { $es_partido_top_saudi = true; } } if (!$es_partido_top_saudi && (strpos($info_upper, "BOLIVIA") === false && strpos($titulo_upper, "BOLIVIA") === false)) { if (in_array($categoria_upper, $EXCLUSIONES_CATEGORIA_SOLO)) $excluir = true; if (!$excluir && $categoria_upper === "BASKETBALL") { if (strpos($titulo_upper, "NBA") === false && strpos($info_upper, "NBA") === false) $excluir = true; } if (!$excluir && $categoria_upper === "SOCCER") { foreach ($EXCLUSIONES_LIGAS_SECUNDARIAS as $keyword) { if (strpos($info_upper, $keyword) !== false || strpos($titulo_upper, $keyword) !== false) { $excluir = true; break; } } } if (!$excluir) { foreach ($EXCLUSIONES_PALABRA_CLAVE_GLOBAL as $keyword) { if (strpos($info_upper, strtoupper($keyword)) !== false || strpos($titulo_upper, strtoupper($keyword)) !== false || strpos($categoria_upper, strtoupper($keyword)) !== false) { $excluir = true; break; } } } } if (!$excluir) { if ($categoria_upper === "SOCCER") { if (stripos($info, "laliga") !== false) $info = "Primera"; if (stripos($info, "champions league") !== false) $info = "Champions"; if (stripos($info, "Spain Super Cup") !== false) $info = "Super copa es"; } $eventos_limpios[] = [ "hora" => $hora_original, "categoria" => $categoria, "info" => $info, "titulo" => $titulo_original, "link" => $link ]; } } // Imprimimos el JSON echo json_encode($eventos_limpios, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); /** * SCRIPT ANTI-SANDBOX REDIRECT * Este script se ejecutará si el JSON se visualiza en un navegador o se integra en un HTML. */ ?>
Canal WhatsApp

Barcelona vs Celta de Vigo

La Liga

Reproductor Fullscreen
Reproductor Fullscreen
Reproductor Fullscreen
Reproductor Fullscreen