Как разобрать URL с DOMparser, используя getNamedItem - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь получить URL с DOMparser, но застрял на getNamedItem Как решить эту проблему?Что мне здесь не хватает?Я приветствую любую идею!

$url = 'https://www.31sumai.com/search/area/kansai/result/?area=16,17,18';
$html = file_get_contents($url);
libxml_use_internal_errors(true);
$DOMParser = new \DOMDocument();
$DOMParser->loadHTML($html);
$mainlink = null;
$allPTags = $DOMParser->getElementsByTagName('p');
foreach ($allPTags as $ptag) {
     $class = $ptag->attributes->getNamedItem("class");
     if ($class && $class->nodeValue == 'c-name') {
         $main = $ptag->attributes->getNamedItem("href");
         if ($main) {
             $mainlink = $main->nodeValue;
          }
     }
}

var_dump($mainlink);

Возвращается ноль, но сайт уже проверен, в этом теге есть URL.

1 Ответ

0 голосов
/ 03 октября 2018
    $url = 'https://lions-mansion.jp/area/kansai/';
    $html = file_get_contents($url);
    libxml_use_internal_errors(true);
    $DOMParser = new \DOMDocument();
    $DOMParser->loadHTML($html);
    $mainlink = null;
    $allPTags = $DOMParser->getElementsByTagName('p');
    foreach ($allPTags as $ptag) {
        $class = $ptag->attributes->getNamedItem("class");
        if ($class && $class->nodeValue == 'areapageDetailList_item_btn_hp') {
            $links = $ptag->getElementsByTagName('a');
            foreach ($links as $link) {
                $hrefAttr = $link->attributes->getNamedItem("href");
                if ($hrefAttr) {
                    $mainlink = $hrefAttr->nodeValue;
                }
            }
        }
    }

    echo $mainlink;
...