Php 如何使用getNamedItem使用DOMparser解析url
我正试图用Php 如何使用getNamedItem使用DOMparser解析url,php,laravel,web-scraping,domparser,Php,Laravel,Web Scraping,Domparser,我正试图用DOMparser获取URL,但被困在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->
DOMparser
获取URL,但被困在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);
它返回null,但已检查网站,该标记中有URL。可能不可能,我更改了链接并使用了您的脚本。但同样地,它是空的。我更新了问题代码,您也可以在该网站上查看。如果您试图在p标签内找到“areapageDetailList\u item\u btn\u hp”类的链接,您应该在$ptag内找到“a”元素,然后从该元素中获取href$a->attributes->getNamedItem(“href”)->nodeValue;更新答案。现在它在p标签内搜索链接,类为“areapageDetailList\u item\u btn\u hp”
$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;