如何使用简单 HTML DOM 和 cURL 根据 children 和特定 class 排除抓取结果?
How to exclude scraping results depending on children with specific class using Simple HTML DOM and cURL?
我正在为特定的 link 抓取某个网站,并将其保存到我的 $url_results 数组中。但是,如果 li 簇,class 为 list-items__item[=32,则要排除将 link 添加到数组中=],包括 child->child->child span 和 class 的 list-items__item__通知.
我正在抓取的集群:
<li>
<a href="" data-lpurl=""> <!--The href I am scraping-->
<span class="list-items__item__position"></span>
<div class="list-items__item__title">
<span class="list-items__item__notice"> <!--I don't want to add to my array if this span is present-->
</span>
</div>
</a>
</li>
我的PHP抓取功能:
$items = $html->find('li[class=list-items__item]');
foreach($items as $post) {
$url_results[] = $url . ($post->children(0)->href);
}
我正在使用 Simple HTML DOM 和 cURL 进行抓取。
我通过添加一个 if 语句解决了这个问题,检查标签是否为空,如果是,则将 href
添加到我的数组中,如果不是,则什么都不做,如下所示:
foreach($items as $post) {
if (empty($post->children(0)->children(1)->children(0)->plaintext)) {
$url_results[] = $url . ($post->children(0)->href);
}
else {}
}
我正在为特定的 link 抓取某个网站,并将其保存到我的 $url_results 数组中。但是,如果 li 簇,class 为 list-items__item[=32,则要排除将 link 添加到数组中=],包括 child->child->child span 和 class 的 list-items__item__通知.
我正在抓取的集群:
<li>
<a href="" data-lpurl=""> <!--The href I am scraping-->
<span class="list-items__item__position"></span>
<div class="list-items__item__title">
<span class="list-items__item__notice"> <!--I don't want to add to my array if this span is present-->
</span>
</div>
</a>
</li>
我的PHP抓取功能:
$items = $html->find('li[class=list-items__item]');
foreach($items as $post) {
$url_results[] = $url . ($post->children(0)->href);
}
我正在使用 Simple HTML DOM 和 cURL 进行抓取。
我通过添加一个 if 语句解决了这个问题,检查标签是否为空,如果是,则将 href
添加到我的数组中,如果不是,则什么都不做,如下所示:
foreach($items as $post) {
if (empty($post->children(0)->children(1)->children(0)->plaintext)) {
$url_results[] = $url . ($post->children(0)->href);
}
else {}
}