ʙᴀᴋʜᴀ
Парсинг барои скачать ва поиски музыка аз сайти https://pinkamuz.pro/
<?php
if (!isset($_GET['search']) || empty($_GET['search'])) {
echo json_encode(['error' => 'Параметр search не задан'], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
exit;
}
$searchQuery = $_GET['search'];
$url = "https://pinkamuz.pro/search/" . urlencode($searchQuery);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
. '(KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$html = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$tracks = [];
$trackDivs = $xpath->query("//div[@class='data __adv_list_track']");
$id = 1;
foreach ($trackDivs as $div) {
$artistNode = $xpath->query(".//span[@class='artist __adv_artist']", $div);
$artist = $artistNode->length
? trim($artistNode->item(0)->textContent)
: '';
$titleNode = $xpath->query(".//span[@class='title __adv_name']", $div);
$trackName = $titleNode->length
? trim($titleNode->item(0)->textContent)
: '';
$fullTitle = $artist . " - " . $trackName;
$linkNode = $xpath->query(".//a[@class='link']", $div);
$downloadLink = $linkNode->length
? trim($linkNode->item(0)->getAttribute('href'))
: '';
if (strpos($downloadLink, '//') === 0) {
$downloadLink = 'https:' . $downloadLink;
}
$thumbNode = $xpath->query(".//img", $div);
$thumbnail = $thumbNode->length
? trim($thumbNode->item(0)->getAttribute('src'))
: '';
if (strpos($thumbnail, '//') === 0) {
$thumbnail = 'https:' . $thumbnail;
}
$tracks[] = [
'id' => $id,
'track_name' => $fullTitle,
'download_link… Читать полностью →
10 · 936 ·