问题标签 [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 回答
2068 浏览

node.js - Cheerio js 无法修改内部 HTML

我正在使用 Cheerio js 抓取一个网站,我有一个数组中的表格行列表,当我在 for 循环中使用 $.html('text') 修改内部 HTML 的内容时似乎工作但一旦函数退出我丢失了修改后的文本:

0 投票
1 回答
4979 浏览

javascript - 使用 Cheerio 自动提交查询(如 JQuery)

我必须做以下事情:给定一个从服务器加载的页面,我必须在加载后自动在该页面中提交一个表单,用相同的字符串 ( test worked) 填充其所有输入字段。这显然是对我的问题的简化,但已经足够接近了!

目前我正在获取表格,并使用https://github.com/cheeriojs/cheerio来探索它:

目前,我有以下代码:

问题:

  • 目前,submit是相对于我下载的页面。我如何确保我在正确的位置提交东西?我应该执行 url.parse 并从 URL 中计算出操作的海鸥路径吗?

  • 您如何实际创建“发布”字符串?或者,更好的是,您将如何发布此表格?

  • 我意识到这可能不起作用(表单可能有 Javascript 等)。但是,在提交此表格时,我还有什么需要注意的吗?

0 投票
1 回答
55 浏览

javascript - 如何获取最后一个数组

使用cheerio,我设法抓取了一个PHP生成的表,其中包含一列日期、位置等。由于行数是可变的,我选择使用 .map() 遍历每一行,设置匹配的起始事件日期 (startDate) 与提供的 CSS 选择器。上述过程似乎运行良好,因为当我调用 console.log(startDate) 时,我收到以下输出。但是,似乎该进程每次移动到下一行时都会创建一个数组,每次都附加一个额外的日期。如何将变量设置为仅数组 startDate 中的最后一个数组?

所以 console.log(newArray) 的期望输出将是:

0 投票
1 回答
837 浏览

jquery - 目的 # has no method 'attr' when scraping with Cheerio and NodeJS

While following a tutorial about web scraping in Node JS, I ran into this problem when running this script in the terminal:

Object #<Object> ha

While following a tutorial about web scraping in Node JS, I ran into this problem when running this script in the terminal:

Here's the script I'm using:

Any ideas on how to fix this script so it doesn't throw an error? Any help would be really appreciated!


Negative id value in SQLite Android

In the main activity I create database

In the second activity I call the class of database

And insert data

The output "rowID" is "-1". I do not understand why this is happening

0 投票
2 回答
1676 浏览

node.js - 如何访问 Node.js 请求模块的输出

有几个教程描述了如何使用request和抓取网站cheerio。在这些教程中,他们将输出发送到控制台或将 DOM 流式传输fs到文件中,如下例所示。

但是如果我想在脚本执行期间处理输出怎么办?如何访问输出或将其发送回调用函数?当然,我可以img_link.txt从那里加载和获取信息,但这会很昂贵而且没有意义。

0 投票
2 回答
12916 浏览

javascript - 使用cheerio获取页面标题

我正在尝试使用cheerio 获取网址的标题标签。但是,我得到了空字符串值。这是我的代码:

0 投票
1 回答
18129 浏览

json - 类选择器上每个循环的 Cheerio 错误 - TypeError:无法设置未定义的属性“范围”

我在请求应用程序上进行了简单的 Cheerio 解析。不知道为什么在尝试设置数组时会出现这个未定义的错误,但我猜该值不适合设置。

这是我的控制台响应,它读取并设置在抓取的 html 中找到的前两项。

TypeError:无法设置未定义的属性“范围”

0 投票
0 回答
191 浏览

node.js - Node.js:Request + Cheerio,网站无响应

我一直在尝试抓取此网址并检索“马萨诸塞州的组织日期”,但未成功。我怀疑我可能只是错误地标记了 DOM,但已经尝试了一系列 id 和类。任何建议-我正在使用cheerio和请求。

});

0 投票
1 回答
92 浏览

javascript - 如何使用 promise 返回数组的最终结果?

我目前正在尝试返回特定网站上所有文件名(在每个现有文件夹中)的请求。我的 Web 应用程序使用 NodeJS、Express、Cheerio 和 Request to Web scrape。我的代码首先获取所有文件夹名称的列表。在检索文件夹名称列表后,它会进入每个文件夹名称以获取文件名列表并将它们存储在“文件”数组中。最后,“文件”数组将被发送到客户端。

现在我对异步的东西有一个大问题,因为我的请求总是会返回一个空的“文件”列表。我安装了 Q 节点模块并尝试使用 Promise,但没有获得我想要的结果。我还是 nodeJS 的新手,如果有人可以帮助我,我会很高兴.. :)

为了更好的可读性或支持,您可以查看我在这里创建的 JSFiddle:http: //jsfiddle.net/fKGrm/

0 投票
1 回答
2717 浏览

javascript - Cheerio (node.js) 在读取 html 时返回错误

我对 JS 完全陌生,完全被 Node Cheerio 困住了。如果有人可以帮助我,我将不胜感激。

我正在处理的代码在这里:https ://github.com/zafartahirov/bitstarter 。

(找到修复后不起作用的代码将被称为grader.old.js)。

当我跑

我收到一个错误:

有什么建议么?