问题标签 [cheerio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
788 浏览

javascript - 使用 Node.js + Cheerio 进行抓取 - 重复,选择器中的选择器会创建重复返回

这是情况。我正在使用 Node.js 和 Cheerio 我的控制台日志返回很好,除了站点结构导致的一些重复内容......

我的脚本:


网站结构(简化):


我的控制台日志返回:


我的控制台日志返回很好,除了重复的东西。这是因为在站点结构中,选择器 tr 在其中有另一个 tr。我无法摆脱'tr tr'。tr 也没有可供进一步选择的独特类。

请帮忙。谢谢!!!-阿尔多

哦,最后......每次返回的开头和结尾的讨厌的单引号。我拿不出来

0 投票
2 回答
676 浏览

node.js - 如何在 each() 函数中运行异步代码?

我需要能够在每个循环内运行异步代码,并且在异步代码完成之前不进行迭代。

0 投票
2 回答
673 浏览

jquery - 用 Cheerio 刮擦

我正在编写一个爬虫来获取 psp iso 文件以根据评级下载。我很难针对每个评级。我怎样才能抓住这个元素?我已经包含了一个快照供参考。评级元素位于tr td标签内。

在此处输入图像描述

0 投票
1 回答
266 浏览

javascript - 用cheerio刮温湿度率

我一直在尝试用cheerio废弃以下网页,以便为我的一个小项目 获取最新的温度和湿度:网站链接

不幸的是,似乎我必须挖掘很多标签,但我找不到路。我试图检查元素以查看其 css 路径,但效果不佳。我尝试过的代码如下(它基于我在检查元素时得到的 css 选择器):

我只是得到'null',所以它似乎不起作用。

如果有人能帮我解决这个问题,那将是一个巨大的帮助!

提前致谢

0 投票
2 回答
159 浏览

javascript - jQuery。查找元素 `script 或 noscript 或 iframe` 内/下的所有属性值,其属性键为 `src 或 href`

我希望能够在元素('script'、'noscript'、'iframe')下找到所有属性键为 src 或 href 的属性值。

0 投票
2 回答
21307 浏览

javascript - 如何使用cheerio 获取脚本内容

我正在使用cheerio lib 并试图获取这个脚本字段 -script type="application/json" 但由于某种原因它找不到这些脚本标签。怎么了?我该如何解决?

0 投票
2 回答
2441 浏览

node.js - 用cheerio刮的问题

我一直在尝试为我们正在构建的网站抓取 10 个网站,其中包含指向原始网站的链接,在 node.js 上使用cheerio,我们得到的问题是一些网站已经改变,现在使用 ajax 调用来带来他们的数据,我的问题是我们如何获取这些信息,例如先触发按钮单击然后获取 DOM。

其次:相同的 dom 结构并没有获取我所有的数据,它正在检索一个页面的信息,但没有获取具有相同 DOM 结构的另一页面上的元素。任何帮助,将不胜感激。

谢谢并恭祝安康。 编辑1:相关代码

编辑 2: Cherios 初始化

0 投票
2 回答
134 浏览

jquery - jQuery 选择器:列表不在 div 内

我有一个如下的 HTML 结构:

  • 使用jQuery,我试图在'main' div中的所有ul 中获取所有li元素的文本,但不在'sub1' div 中。

  • '#main' 可以包含单个列表,也可以包含多个列表,也可以不包含。

  • 如果选择器在 Node.js 上与 Cheerio 一起工作,那将是一个额外的收获,但我真正想要的是学习解决该问题的正确方法 :)

  • 如果有人觉得这篇文章需要它,我可以添加我失败的尝试。为了避免 tl;dr,假设我对 jQuery 有一定的了解,但我尝试过的没有任何工作!

0 投票
1 回答
741 浏览

javascript - Cheerio 没有正确穿越?

我有以下代码:

当然,HTML 代码不是西方最好的,但我想知道为什么长度打印正确,前两个 H3 块打印正确,然后当我为第三个标题调用 next() 时,它没有存在。但是,如果我

console.log($('h3').last().text())

它打印出“标题3”。我只是不知道如何从以前的 h3 遍历到它。

希望这是有道理的,但我不知道这是否是设计的cheerio,或者它是否行为不端。如果有人可以向我解释为什么这段代码不能按我的预期工作,我将不胜感激。

0 投票
2 回答
648 浏览

javascript - Cheerio 模拟 $.not()

我有一个看起来像这样的 html:

使用cheerio,我想得到一个数组,其中所有p 元素都没有“电话”或“传真”类。Cheerio 没有 .not 功能,所以我试图用这样的过滤器复制它:

结果,我得到了以下数组(我已经删除了换行符),它过滤掉了第一个元素并保持其他元素不变。我似乎无法理解为什么...

结果 :

小提琴:http: //jsfiddle.net/2cPLK/