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

jquery - 获取没有类和 id 的嵌套选择器

我正在尝试抓取一个网站,但我不知道如何获得我想要的选择器。我正在使用这个功能:

Var title 就像一个魅力。Var Stock 没有,它只是我复制粘贴的 css 路径,而 var 价格来自以前的网站,无论如何我也不知道要得到它。我只是得到“空”。

这是要抓取的 url 示例:要抓取的 站点

0 投票
1 回答
732 浏览

javascript - Node.js - 一次循环遍历 URL 数组

我是 node js 的初学者,我正在尝试编写一个网络抓取脚本。如果我每分钟提出的请求少于 15 个,我会从网站管理员那里获得许可来抓取他们的产品。当我开始时,它曾经一次请求所有 URL,但经过一些工具后,我能够遍历数组中的每个项目,但是当数组中没有更多项目时脚本不会停止?我对我的结果并不满意,并且觉得有更好的方法来做到这一点。

0 投票
2 回答
166 浏览

javascript - 我的带有 node.js 的网络爬虫没有显示预期的输出?

这是我node.js使用cheerio库的网络爬虫:

但是当我运行它时,我得到以下输出:

而不是数组中的 25 个链接。

我做错了什么?

我该如何解决?

0 投票
2 回答
1176 浏览

node.js - node.js reqest.js/cheerio.js 返回空 json

我正在开发一个应用程序,该应用程序可以抓取网站并将数据公开为休息 api。我正在使用 Node、Express、request、cheerio。我似乎在数组中得到了正确的值..但是在返回之前..数组仍然是空的(在请求函数范围之外)

我无法锻炼我所缺少的东西......你能看看我的代码并告诉我吗?

在 app.js 我指定了路线,

在 timetable.js 中

思路是,对于数组中的每一个json对象,从指定的url中获取更多信息。

所以最终的结果是,

在 classes.js 中

0 投票
1 回答
109 浏览

javascript - jQuery 访问站点中的 DOM

我正在尝试从该站点抓取表格中的各种元素,以自学使用 node.js、cheerio 和 request 进行抓取

我在获取表格中的项目时遇到了麻烦,本质上我想从表格中获取“排名”、“公司”和“3 年增长”。我该怎么做呢?

根据在线教程,我开发了我的 scraping.js 脚本,如下所示:

但是,我确信我没有得到正确的评论。有没有办法更好地访问表中的属性?

我注意到 Xpath 就是这样

//*[@id="col-r"]/table/tbody/tr 2 /td 1 -- 排名

//*[@id="col-r"]/table/tbody/tr 2 /td 2 /a -- 公司名称

//*[@id="col-r"]/table/tbody/tr 2 /td[3] -- 3年增长率

只是想弄清楚如何相应地访问这些属性..

0 投票
1 回答
1006 浏览

html - 抓取 Node.js:从 H2 标头获取文本

好吧,为了好玩,我决定刮掉所有在moodle网站上注册的上我大学的用户。

这是我用 Node.js 和cheerio 制作的程序,用于抓取网站,但我似乎无法获取 H2 标记内的文本。

这是我要抓取的网站,http ://moodle.rampo.edu/user/profile.php?id=2101 我需要做的只是更改 ID 号,它会遍历每个学生。

如何只选择 H2 标记内的文本,以便我可以将它们全部记录到我的控制台?

0 投票
1 回答
810 浏览

javascript - cheeriojs - How to loop through every object?

I have this code below:

This will return the text from this div:

Basically on the page there around 20 photos of people, so there are around 20 or so <a> tags on the page with a class name of name. How would I loop through each <a> tag and produce a JSON variable which would contain something like this below

At the moment I can only get it to hold the value of one name, which is useless to me at the moment!

Any help appreciated!

0 投票
1 回答
120 浏览

javascript - 由于范围问题,变量返回为未定义

我正在尝试获取从 officialcharts.com 抓取的数据的 youtube 视频。我能够抓取数据并为他们获取 youtube 网址。但是当我尝试将数据推送到数组中时,只会推送标题和艺术家姓名。变量 youtubeUrl 没有被赋值。为什么变量 youtubeUrl 不在范围内?

我尝试了多种方法。我尝试在搜索功能中声明 youtubeUrl,然后在请求之外,但我遇到了同样的问题。

我还尝试将 json.tracks.push 移动到搜索功能中,但是 json 不在范围内,因此没有任何内容添加到轨道中

我正在使用https://www.npmjs.org/package/youtube-search搜索视频。

0 投票
1 回答
3852 浏览

javascript - Cheerio:SyntaxError:格式错误的属性选择器:对象全局?

这是我的代码:

当我在节点控制台中运行它时,出现以下错误:

我该如何解决?

0 投票
1 回答
117 浏览

javascript - 节点 Jquery 抓取问题

我正在尝试在我的网页上运行一个简单的抓取,但我遇到的问题是我似乎无法正确选择带有我的抓取器的 HTML 元素。我以为我从我的 中正确获取了属性<li>,但是我得到了undefined每个对象属性的值。

我正在寻找data-name,data-addressdata-url值。

scrape.js

html: