提问人:Mark Barry 提问时间:9/11/2023 最后编辑:Mark Barry 更新时间:9/11/2023 访问量:19
简单的 DOM - 抓取缺少类的站点/问题
Simple DOM - scraping a site / problem with missing classes
问:
我正在抓取一个分类广告的网站,每个页面都有 15 个搜索结果列表。大多数车辆列表都会有 class=price 作为价格。但是,有些列表省略了价格,这意味着我的 15 个数组可能缺少值,当我稍后遍历它们以在我的网站上显示列表时,这是一个问题。那么,如何确保填充每个数组值呢?这是我正在抓取的站点的 HTML 示例:
<div class="search-results">
<a class="inner">
<div class="desc">Vehicle 1</div>
<div class="desc">Vehicle 2</div>
<div class="desc">Vehicle 3</div>
<div class="desc">Vehicle 4</div><div class="price">$30,000</div>
<div class="desc">Vehicle 5</div>
...
<div class="desc">Vehicle 15</div>
</a>
</div>
这是我的代码,如果每个列表都有价格,它就会起作用,但如果缺少任何价格,它就会失败:
foreach($html->find('div[class="search-results"] a[class=inner] div[class=price]') as $a) {
$car_price[] = $a->plaintext;
}
在此示例中,此代码仅返回一个数组值,它甚至不在数组的第 4 个位置,因为它是数组中的唯一值。那么,即使价格为 null,我如何确保所有 15 个数组元素都有一个值呢?我的想法是创建一个空值,如果它丢失,但我不确定如何做到这一点。谢谢!
答: 暂无答案
评论