如何通过 Cheerio 获取 HREF 元素的选择值

Posted

技术标签:

【中文标题】如何通过 Cheerio 获取 HREF 元素的选择值【英文标题】:How to get select value of a HREF element through Cheerio 【发布时间】:2021-02-26 07:43:37 【问题描述】:

我有一个 html 源代码。

<div class="placeholderClass">
    <h2>THIS IS A PLACEHOLDER</h2> <br>
    <p>I want to redirect you to my website over here <a href="https://www.placeholder.com/path/app/stores/HubArticleView?hubId=Hub-100000&amp;placeHoldingID=100000&amp;userID=10000&amp;nameID=40&amp;viewID=10000#parentHorizontalTab2">PLACEHOLDER VIEW</a>.
    </p>
</div>

我想从此源获取 href 元素


const $ = cheerio.load(body); // body is the HTML that is loaded above
const IDInfo = ;

const HREF = $('.placeholderClass > h2 > br > p[href])

我正在做最后一行以尝试获取 HREF 链接,因此我无法提取它。

【问题讨论】:

您有语法错误,缺少字符串中的右引号。 【参考方案1】:

这是关于 css 选择器和 jQuery/Cheerio 的基本内容。属性选择器不返回属性而是节点。你想要的是这样的:

$('.placeholderClass > h2 > br > p[href]').attr('href');

【讨论】:

【参考方案2】:

document.getElementByTagName("a").getAttribute("href");

【讨论】:

这可能在 Node 中不起作用,因为 OP 不使用 jsDom 而是 Cheeerio。 document 对象是(如果不使用 jsDOM)存在于浏览器中的东西。

以上是关于如何通过 Cheerio 获取 HREF 元素的选择值的主要内容,如果未能解决你的问题,请参考以下文章

Cheerio 获取元素外部 html

Cheerio 没有选择特定的元素

有没有办法选择cheerio中的每一个元素?

如何使用nodejs做爬虫程序

如何使用nodejs做爬虫程序

如何使用nodejs做爬虫程序