【发布时间】:2019-09-18 08:41:30
【问题描述】:
伙计们,我正在使用cheerio来抓取一个如下所示的html文档,我需要找出每个文章元素中两个元素的href。
<article>
<div class="row">
<div class="col-md-5 col-6">
<a class="btn" href="https://xxxxxx.png">abc1</a>
</div>
<div class="col-md-5 col-6">
<a class="btn" href="https://xxxxx">abc2</a>
</div>
</div>
</article>
<article>
....
</article>
....
下面是我的脚本,它使用 .btn 查找每个元素并使用 nth-child 按顺序获取它们,它可以成功获取第一个元素的 href,但是它无法获取第二个元素的值。知道如何解决这个问题吗?
const $ = cheerio.load(html);
$("article").each((i, element) => {
let element1 = $(element).find(".btn:nth-child(1)").attr("href");
let element2 = $(element).find(".btn:nth-child(2)").attr("href");
console.log(element1,element2);
});
【问题讨论】:
-
您想要例如:
div:nth-child(2) a.btn,因为它是第二个孩子的 div,而不是 a。 -
谢谢,我明白了。 @pguardiario
标签: html node.js cheerio scrape