从 li 标签中提取 data-href
Extracting data-href from li tag
我正在尝试从 data-href
中提取 URL,但遇到了一些麻烦。它没有标签。所以我不知道如何获取 data-href 属性。网址在这里:https://www.proud-web.jp/search/kansai/area/osaka/
这是我要的数据:
<div class="box-search-result">
<form action="/module/material/SiryoOrderTop.xphp" method="GET" name="favoritebox" target="_blank">
<ul class="list-search-result">
<li class="list-search-result-item" data-href="https://www.proud-web.jp/kansai/mansion/shimizudani/"
这是我的代码:
$url = 'https://www.proud- web.jp/search/kansai/area/osaka/';
$parser = getSiteContent($url);
$link = [];
$allDivs = [];
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
$linkRef = $div->getAttribute('data-href');
var_dump($linkRef);
}
}
我怎样才能拿到data-href
的URL?任何的想法?谢谢!
顺便说一句,我正在使用 DOMparser。
您想从每个 div
中获取 li
元素,然后获取 data-href
属性。您只是想从 div
中获取它
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
$allLi = $div->getElementsByTagName('li');
foreach ($allLi as $li){
$linkRef = $li->getAttribute('data-href');
var_dump($linkRef);
}
}
}
我不是 100% 确定此处的 domParser 语法,但问题与您获取 div
而不是 li
相同。您可能需要循环遍历 $div
变量的 childNodes
属性 并检查 nodeName
是否为 ul
然后循环遍历 childNodes
属性 的那些寻找 li
作为 nodeName
例如
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
foreach($div->childNodes as $node) {
if($node->nodeName == 'ul') {
foreach($node->childNodes as $liNode) {
if ($liNode->nodeName == 'li') {
$linkRef = $liNode->getAttribute('data-href');
var_dump($linkRef);
}
}
}
}
}
}
我正在尝试从 data-href
中提取 URL,但遇到了一些麻烦。它没有标签。所以我不知道如何获取 data-href 属性。网址在这里:https://www.proud-web.jp/search/kansai/area/osaka/
这是我要的数据:
<div class="box-search-result">
<form action="/module/material/SiryoOrderTop.xphp" method="GET" name="favoritebox" target="_blank">
<ul class="list-search-result">
<li class="list-search-result-item" data-href="https://www.proud-web.jp/kansai/mansion/shimizudani/"
这是我的代码:
$url = 'https://www.proud- web.jp/search/kansai/area/osaka/';
$parser = getSiteContent($url);
$link = [];
$allDivs = [];
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
$linkRef = $div->getAttribute('data-href');
var_dump($linkRef);
}
}
我怎样才能拿到data-href
的URL?任何的想法?谢谢!
顺便说一句,我正在使用 DOMparser。
您想从每个 div
中获取 li
元素,然后获取 data-href
属性。您只是想从 div
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
$allLi = $div->getElementsByTagName('li');
foreach ($allLi as $li){
$linkRef = $li->getAttribute('data-href');
var_dump($linkRef);
}
}
}
我不是 100% 确定此处的 domParser 语法,但问题与您获取 div
而不是 li
相同。您可能需要循环遍历 $div
变量的 childNodes
属性 并检查 nodeName
是否为 ul
然后循环遍历 childNodes
属性 的那些寻找 li
作为 nodeName
例如
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
foreach($div->childNodes as $node) {
if($node->nodeName == 'ul') {
foreach($node->childNodes as $liNode) {
if ($liNode->nodeName == 'li') {
$linkRef = $liNode->getAttribute('data-href');
var_dump($linkRef);
}
}
}
}
}
}