【发布时间】:2021-10-01 08:24:20
【问题描述】:
我正在尝试从页面中抓取链接,但我现在面临的问题是我想从锚标记中抓取 href,但它有多个标签,里面没有类他们。
看起来像这样
<div class="class1">
<a href="sample.com">Some random text</a>
<a href="example.com">Some random text</a>
</div>
现在我想获取 example.com,但是当我尝试 find(".class1").find("a").attr("href"); 时,它返回给我 sample.com。
我想做这样的事情来获取 example.com 而不是 sample.com
find(".class1").find("a")[1].attr("href");
返回 example.com
请有人帮我解决这个问题。我是cheerio 的新手,cheerio 的文档让我很困惑。
【问题讨论】:
-
“我想做这样的事情”很好,看起来很整洁,就去做,结果如何?另外,
find(.class1).find("a:last-child")呢? -
@jeremy-tille 我越来越不确定
find(".class1").find("a")[1].attr("href");...是的!当我使用.find("a:last-child")时,我得到了 example.com,但如果不止 2 个呢?像 11 个锚标签,那么我怎样才能获得第 4 个?? -
使用
.find("a:nth-child(4)")(这是一个标准的 CSS 选择器)。我已经发布了我的评论作为答案,因为它似乎已经解决了你的问题:)
标签: javascript node.js cheerio