<?php
$urlSite = 'https://s...content-available-to-author-only...o.site/download?url=';
$idSite = "https://w...content-available-to-author-only...e.com/watch?v=HsR8vw19IEg";
if (!$idSite) {
}
$url = $urlSite . $idSite;
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
CURLOPT_REFERER => 'https://www.google.com/',
CURLOPT_ENCODING => '',
CURLOPT_HTTPHEADER => [
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3',
'Connection: keep-alive'
]
]);
if ($http_code !== 200 || $html === false) {
'error' => "Erreur HTTP: $http_code",
'curl_error' => $curl_error
]);
}
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
// ✅ Extraction du tableau "data"
$rows = [];
$trs = $xpath->query("//div[contains(@class, 'mks_toggle')]//table[contains(@class, 'download-table')]//tbody/tr");
foreach ($trs as $tr) {
$cols = [];
$tds = $tr->getElementsByTagName('td');
foreach ($tds as $index => $td) {
if ($index === 3) {
$a = $td->getElementsByTagName('a')->item(0);
$link = $a ? $a->getAttribute('href') : null;
$cols[] = $link;
} else {
$cols[] = trim($td->textContent); }
}
$rows[] = $cols;
}
}
// ✅ Extraction des infos depuis /html/body/div[3]/div/div
$base = $xpath->query("/html/body/div[3]/div/div")->item(0);
$info = [
'title' => null,
'image' => null,
'duration' => null,
'uploader' => null,
'description' => null
];
if ($base) {
// Titre dans <h3>
$h3 = $xpath->query(".//h3", $base)->item(0);
$info['title'] = $h3 ?
trim($h3->textContent) : null;
// Image dans <img>
$img = $xpath->query(".//img", $base)->item(0);
$info['image'] = $img ? $img->getAttribute('src') : null;
// Duration
$duration = $xpath->query(".//li[span[text()='Duration']]/strong", $base)->item(0);
$info['duration'] = $duration ?
trim($duration->textContent) : null;
// Uploader
$uploader = $xpath->query(".//li[span[text()='Uploader']]/strong", $base)->item(0);
$info['uploader'] = $uploader ?
trim($uploader->textContent) : null;
// Description
$desc = $xpath->query(".//li[span[text()='Description']]/b", $base)->item(0);
if ($desc) {
$htmlDesc = '';
foreach ($desc->childNodes as $node) {
if ($node->nodeName === 'br') {
$htmlDesc .= "\n";
} else {
$htmlDesc .= $node->textContent;
}
}
$info['description'] = trim($htmlDesc); }
}
// ✅ Résultat JSON
header('Content-Type: application/json; charset=UTF-8'); 'status' => 'success',
'info' => $info,
'data' => $rows
], JSON_PRETTY_PRINT);
?>
PD9waHAKJHVybFNpdGUgPSAnaHR0cHM6Ly9zLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5vLnNpdGUvZG93bmxvYWQ/dXJsPSc7CiRpZFNpdGUgPSAiaHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbS93YXRjaD92PUhzUjh2dzE5SUVnIjsKCmlmICghJGlkU2l0ZSkgewogICAgZXhpdChqc29uX2VuY29kZShbJ2Vycm9yJyA9PiAiUGFyYW3DqHRyZSAnaWQnIG1hbnF1YW50LiJdKSk7Cn0KCiR1cmwgPSAkdXJsU2l0ZSAuICRpZFNpdGU7CgokY2ggPSBjdXJsX2luaXQoJHVybCk7CmN1cmxfc2V0b3B0X2FycmF5KCRjaCwgWwogICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiB0cnVlLAogICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiB0cnVlLAogICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiB0cnVlLAogICAgQ1VSTE9QVF9VU0VSQUdFTlQgPT4gJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpJywKICAgIENVUkxPUFRfUkVGRVJFUiA9PiAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8nLAogICAgQ1VSTE9QVF9FTkNPRElORyA9PiAnJywKICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiBbCiAgICAgICAgJ0FjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCwqLyo7cT0wLjgnLAogICAgICAgICdBY2NlcHQtTGFuZ3VhZ2U6IGZyLUZSLGZyO3E9MC44LGVuLVVTO3E9MC41LGVuO3E9MC4zJywKICAgICAgICAnQ29ubmVjdGlvbjoga2VlcC1hbGl2ZScKICAgIF0KXSk7CgokaHRtbCA9IGN1cmxfZXhlYygkY2gpOwokaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKJGN1cmxfZXJyb3IgPSBjdXJsX2Vycm9yKCRjaCk7CmN1cmxfY2xvc2UoJGNoKTsKCmlmICgkaHR0cF9jb2RlICE9PSAyMDAgfHwgJGh0bWwgPT09IGZhbHNlKSB7CiAgICBlY2hvIGpzb25fZW5jb2RlKFsKICAgICAgICAnZXJyb3InID0+ICJFcnJldXIgSFRUUDogJGh0dHBfY29kZSIsCiAgICAgICAgJ2N1cmxfZXJyb3InID0+ICRjdXJsX2Vycm9yCiAgICBdKTsKICAgIGV4aXQ7Cn0KCmxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKHRydWUpOwokZG9tID0gbmV3IERPTURvY3VtZW50KCk7CiRkb20tPmxvYWRIVE1MKCRodG1sKTsKbGlieG1sX2NsZWFyX2Vycm9ycygpOwoKJHhwYXRoID0gbmV3IERPTVhQYXRoKCRkb20pOwoKLy8g4pyFIEV4dHJhY3Rpb24gZHUgdGFibGVhdSAiZGF0YSIKJHJvd3MgPSBbXTsKJHRycyA9ICR4cGF0aC0+cXVlcnkoIi8vZGl2W2NvbnRhaW5zKEBjbGFzcywgJ21rc190b2dnbGUnKV0vL3RhYmxlW2NvbnRhaW5zKEBjbGFzcywgJ2Rvd25sb2FkLXRhYmxlJyldLy90Ym9keS90ciIpOwoKZm9yZWFjaCAoJHRycyBhcyAkdHIpIHsKICAgICRjb2xzID0gW107CiAgICAkdGRzID0gJHRyLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGQnKTsKICAgIGZvcmVhY2ggKCR0ZHMgYXMgJGluZGV4ID0+ICR0ZCkgewogICAgICAgIGlmICgkaW5kZXggPT09IDMpIHsKICAgICAgICAgICAgJGEgPSAkdGQtPmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyktPml0ZW0oMCk7CiAgICAgICAgICAgICRsaW5rID0gJGEgPyAkYS0+Z2V0QXR0cmlidXRlKCdocmVmJykgOiBudWxsOwogICAgICAgICAgICAkY29sc1tdID0gJGxpbms7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNvbHNbXSA9IHRyaW0oJHRkLT50ZXh0Q29udGVudCk7CiAgICAgICAgfQogICAgfQogICAgaWYgKCFlbXB0eSgkY29scykpIHsKICAgICAgICAkcm93c1tdID0gJGNvbHM7CiAgICB9Cn0KCi8vIOKchSBFeHRyYWN0aW9uIGRlcyBpbmZvcyBkZXB1aXMgL2h0bWwvYm9keS9kaXZbM10vZGl2L2RpdgokYmFzZSA9ICR4cGF0aC0+cXVlcnkoIi9odG1sL2JvZHkvZGl2WzNdL2Rpdi9kaXYiKS0+aXRlbSgwKTsKJGluZm8gPSBbCiAgICAndGl0bGUnID0+IG51bGwsCiAgICAnaW1hZ2UnID0+IG51bGwsCiAgICAnZHVyYXRpb24nID0+IG51bGwsCiAgICAndXBsb2FkZXInID0+IG51bGwsCiAgICAnZGVzY3JpcHRpb24nID0+IG51bGwKXTsKCmlmICgkYmFzZSkgewogICAgLy8gVGl0cmUgZGFucyA8aDM+CiAgICAkaDMgPSAkeHBhdGgtPnF1ZXJ5KCIuLy9oMyIsICRiYXNlKS0+aXRlbSgwKTsKICAgICRpbmZvWyd0aXRsZSddID0gJGgzID8gdHJpbSgkaDMtPnRleHRDb250ZW50KSA6IG51bGw7CgogICAgLy8gSW1hZ2UgZGFucyA8aW1nPgogICAgJGltZyA9ICR4cGF0aC0+cXVlcnkoIi4vL2ltZyIsICRiYXNlKS0+aXRlbSgwKTsKICAgICRpbmZvWydpbWFnZSddID0gJGltZyA/ICRpbWctPmdldEF0dHJpYnV0ZSgnc3JjJykgOiBudWxsOwoKICAgIC8vIER1cmF0aW9uCiAgICAkZHVyYXRpb24gPSAkeHBhdGgtPnF1ZXJ5KCIuLy9saVtzcGFuW3RleHQoKT0nRHVyYXRpb24nXV0vc3Ryb25nIiwgJGJhc2UpLT5pdGVtKDApOwogICAgJGluZm9bJ2R1cmF0aW9uJ10gPSAkZHVyYXRpb24gPyB0cmltKCRkdXJhdGlvbi0+dGV4dENvbnRlbnQpIDogbnVsbDsKCiAgICAvLyBVcGxvYWRlcgogICAgJHVwbG9hZGVyID0gJHhwYXRoLT5xdWVyeSgiLi8vbGlbc3Bhblt0ZXh0KCk9J1VwbG9hZGVyJ11dL3N0cm9uZyIsICRiYXNlKS0+aXRlbSgwKTsKICAgICRpbmZvWyd1cGxvYWRlciddID0gJHVwbG9hZGVyID8gdHJpbSgkdXBsb2FkZXItPnRleHRDb250ZW50KSA6IG51bGw7CgogICAgLy8gRGVzY3JpcHRpb24KICAgICRkZXNjID0gJHhwYXRoLT5xdWVyeSgiLi8vbGlbc3Bhblt0ZXh0KCk9J0Rlc2NyaXB0aW9uJ11dL2IiLCAkYmFzZSktPml0ZW0oMCk7CiAgICBpZiAoJGRlc2MpIHsKICAgICAgICAkaHRtbERlc2MgPSAnJzsKICAgICAgICBmb3JlYWNoICgkZGVzYy0+Y2hpbGROb2RlcyBhcyAkbm9kZSkgewogICAgICAgICAgICBpZiAoJG5vZGUtPm5vZGVOYW1lID09PSAnYnInKSB7CiAgICAgICAgICAgICAgICAkaHRtbERlc2MgLj0gIlxuIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRodG1sRGVzYyAuPSAkbm9kZS0+dGV4dENvbnRlbnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJGluZm9bJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRodG1sRGVzYyk7CiAgICB9Cn0KCi8vIOKchSBSw6lzdWx0YXQgSlNPTgpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCcpOwplY2hvIGpzb25fZW5jb2RlKFsKICAgICdzdGF0dXMnID0+ICdzdWNjZXNzJywKICAgICdpbmZvJyA9PiAkaW5mbywKICAgICdkYXRhJyA9PiAkcm93cwpdLCBKU09OX1BSRVRUWV9QUklOVCk7Cj8+Cg==