问题标签 [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 投票
4 回答
12789 浏览

javascript - .each 和回调

我正在使用请求和cheerio 节点模块来创建从网站中获取一些数据。我想得到一个项目列表,一旦这个列表完成,调用一个异步函数:

我的问题是如何等待列表完成,即,我怎么知道 .each 函数已经遍历了所有项目?

我可以用异步来做到这一点吗?

谢谢

0 投票
1 回答
844 浏览

javascript - 如何使用 node.js + Cheerio 指定 xhr 请求?

我正在报废的页面正在检测请求是 ajax 还是简单请求。我该如何指定?

现在,这somepage会检测它是否为 xhr。

谢谢

0 投票
1 回答
46 浏览

javascript - 这有什么问题?尝试在原型中使用请求回调...收效甚微

这个要点是我一直在尝试包含一个带有回调的请求,以使用带有 Request 和 Cheerio 的 Node.js 从一系列网页中提取一些元素。最初,我使用的基本逻辑仅是一个函数。但是,我正在尝试使它更加面向对象,并且显然失败了。由于该逻辑以前有效,我完全不知道为什么它现在不起作用。

预先感谢您的协助。

要点:https ://gist.github.com/knu2xs/5acc6f24c5df1c881cf7

0 投票
1 回答
3186 浏览

node.js - 使用console.print Cheerio + nodejs时出现奇怪的字符

我是 node.js 的新手,正在编写我的第一个脚本来抓取一些数据。

有谁知道为什么我在使用这段代码时看到里面有问号的奇怪字符?

这是我看到的输出:

http://snag.gy/eQF1Y.jpg

谢谢!

安东尼

0 投票
2 回答
2264 浏览

javascript - 为什么 .attr() 对 $(this) 起作用,但对 each() 的参数不起作用?

我在node.js 上使用cheerio(即jQuery 服务器端)来解析网页。尝试获取href元素的属性时,出现以下错误:

TypeError: Object # has no method 'attr'

我的代码是:

HTML是这样的:

$(this).attr("href")我可以通过使用而不是让它工作,element.attr("href")但我不知道为什么。任何解释都非常感谢!

0 投票
2 回答
233 浏览

javascript - 正则表达式:如何从字符串中获取时间

我正在为The List作为一个 JS 项目开发一个刮板,而我的 regex-fu 可能会比它更好。

给定一个数据结构,如

我编写了以下代码来利用cheerio 来获取日期、地点和乐队列表:

如您所见,我无法弄清楚如何从上述结构中获取时间。

通常,这将是 a 末尾的一些纯文本li,对应于特定的节目,因此对于类似

  • 山底,SF Matt Pond PA,灯塔和捕鲸者,Kyle M. Terrizzi a/a $14/$16 晚上 8 点/晚上 9 点 **
  • 我希望从中获取“8pm/9pm”文本

    有时它会以“8pm”的形式出现,有时是“8pm/9m”,有时它根本不存在。

    构造正则表达式以获取此数据的最佳方法是什么?

    0 投票
    1 回答
    5390 浏览

    jquery - jQuery Cheerio 遍历一系列元素

    我正在尝试查看 2 个 html 表的元素:

    使用jquery选择器或cheerio,我试图收集这些元素并将它们放在一个JSON对象中,其中文本元素将作为键和作为值,所以它看起来像这样

    我试图沿着

    但由于 2 个同名表,它似乎给了我 2 个对象。感谢帮助,谢谢

    0 投票
    8 回答
    4426 浏览

    javascript - 一种知道所有回调何时在 javascript 中完成的方法

    当服务的所有回调都返回时,我有很多对服务的调用,最后我想将我的最终集合写入文件。有没有办法确保所有回调都完成?

    编辑:只是为了记录我正在使用带有nodeJS的cheerio。

    0 投票
    1 回答
    1954 浏览

    node.js - 大型数据文件的节点速度慢且无响应

    我编写了一个简单的节点程序来解析从公司 ERP 返回的 excel 格式的 HTML 表,提取数据,并将其保存为 JSON。

    这使用 FS 打开文件并使用 Cheerio 提取数据。

    该程序适用于小文件(<10MB),但对于大文件(>30MB)需要几分钟

    我遇到问题的数据文件是 38MB,大约有 30,000 行数据。

    问题1:这不应该更快吗?问题2:我只能得到一个console.log 语句来输出。我可以在任何地方放置一个语句并且它可以工作,如果我添加多个,只有第一个输出任何东西。

    0 投票
    2 回答
    416 浏览

    jquery - 查找 img 标签的绝对 url

    我正在使用Node.jsandcheerio进行网络抓取,目前有一种情况是我无法提取img标签的绝对 URL。

    所以这里是代码:

    我正在恢复在 Node.js 中运行该代码undefinedsrc价值,但是当我直接在 Chrome 控制台中应用该代码时,工作正常。似乎Node.js没有实现 src 属性?接下来我尝试输出的属性$(this)[0]

    真的,它没有src,只有attrbs.src返回相对网址,有什么想法吗?