node.js - 使用 Cheerio 和 node.js 从 span 获取文本
问题描述
嗨,我正在尝试跨度内的文本,即带有“要获取的文本”的文本
我使用 Cheerio 和 node.js 获取带有 class="membership-limit-section capture-area" 的 div,但我无法从 span 中获取文本。
我有这个函数来获取 div,我可以看到它里面确实有更多元素,但我无法获取文本
url = "URLdata";
rp(url)
.then(function (html) {
var getHtml = $("div[class='membership-limit-section capture-area']", html);
console.log(getHtml);
})
.catch(function (err) {
console.log(err);
});
<body data-n-head>
<div id="_nuxt">
<div id="__layout">
<div class="app-wrapper purge-css-ignore">
<div class="main-container">
<section class="el-container">
<main
class="el-main auto-height-on-print capture-area"
id="components-root"
>
<div data-v-5cc60f9e>
<div data-v-5cc60f9e class="responsive-section">
<div
data-v-7ce2662e
data-v-5cc60f9e
class="membership-limit-section capture-area"
>
<div data-v-5cc60f9e class="dividends">
<div>
<div
data-v-593f497d
class="el-card capture-area is-always-shadow"
>
<h1 data-v-593f497d>Test</h1>
<div
role="alert"
class="el-alert el-alert--warning is-light"
data-v-593f497d
>
<div class="el-alert__content">
<span class="el-alert__title">Text to get</span>
<i
class="el-alert__closebtn el-icon-close"
style="display: none;"
></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
</section>
</div>
</div>
</div>
</div>
</body>
有人可以帮助如何从跨度中获取文本吗?
谢谢
解决方案
以下选择器将针对该特定响应执行:.membership-limit-section.capture-area .el-alert__title
然后就可以使用.text()
来获取文本了span
。
var getHtml = $(
".membership-limit-section.capture-area .el-alert__title",
html
);
console.log(getHtml.text())
更新:
gurufocus.com/stock/KO/dividend 我想要“自 1963 年以来持续增加股息”,但我无法得到它。我可以使用cheerio解析来自雅虎的信息,但不能来自这个网站
您要抓取的内容是使用 XHR 在客户端加载的。因此,您将无法使用request
&直接解析它,cheerio
因为没有返回该部分,要么直接点击返回该数据的端点,要么puppeteer
在主站点上使用。
当使用请求和cheerio 进行抓取时,请始终记录内容并查看您要解析的内容是否存在。
推荐阅读
- mongodb - docker-compose 上带有用户密码的 graylog mongdb 配置
- apache-kafka - 融合云kafka集群如何扩容?
- java - 如何忽略一些 Java 的 Files.lines 行尾分隔符
- flutter - 为什么“设置类型的值
' 无法从方法 'toHive' 返回,因为它的返回类型为 'ShProblemHive'。” - ios - Xamarin Forms:防止键盘调整视图大小
- javascript - Ruby 和其他语言(Python、JavaScript)不同的 hmac sha256 结果
- javascript - 每当解决承诺时如何附加到状态?
- ios - iOS15 UICollectionView自定义布局,插入item后viewForSupplementaryElementOfKind总是重新创建一个新的header
- tcp - 监控windows上的TCP并发连接
- debugging - Keil Ide 在尝试调试或编程时崩溃