问题标签 [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.
node.js - 使用请求时响应中的空正文
我有以下代码:
从 urls.txt 文件中,我只有以下 url:
http://www.visir.is/section/?Template=rss&mime=xml
当我在该网址上使用 wget 时,我得到一个看起来像 rss 提要的响应,但是当我在正文上方的代码中执行此操作时,它是空的。有人可以向我解释为什么以及如何解决这个问题吗?
node.js - NodeJS 可以从网站保存会话,然后像浏览器一样操作并导航所述网站吗?
我正在使用 NodeJS 创建一个小型应用程序来访问我的 Intranet 上的打印机 Web 界面。我使用require
模块连接和cheerio
模块解析/显示数据。
不幸的是,其中一台打印机使用登录表单(与 html 标头身份验证相对)。我正在使用该request.post
函数并发送正确的参数,如果这成功了,那么我会在 DOM 中找到我需要的信息cheerio.load(new url here)
- 但是这并不成功,我被重定向到“会话超时”页面。
我需要设法使会话与初始 POST 请求保持一致,然后在使用我需要的信息请求新页面时重新使用它。
这可能吗?
javascript - node.js + Cheerio scrape:传递要下载的 URL 数组?
首先,这是我迄今为止取得的进展的代码:
如您所见,followLinks
连接到followUrl
,我想通过'url'
下载,因此我将使用相同的 CSS 规则有效地抓取每个页面,这些规则将添加到相应博主的多维数组中.
我该怎么办?
jquery - 我可以在 node.js 中使用cheerio 包加载本地 html 文件吗?
我的硬盘上有一些 html 文件,我想使用 jquery 从中提取数据。这可以使用cheerio吗?我试过给cheerio 本地路径,但它不起作用。我的一个想法是在节点中创建一个 Web 服务器,从 html 文件中读取,然后通过服务器将其通过管道传输到cheerio - 这会不会
javascript - 我可以向cheerio 添加更多jquery 选择器吗?(node.js)
我一直在玩cheerio,我注意到它似乎不支持jquery 参考中指定的某些选择器,特别是“:odd”和“:even”。有没有办法通过将 jquery 包导入我的程序来使用这些?或者那是必须在cheerio代码中实现的东西?
这是我的代码:
您可以看到我尝试导入 jquery,但如果没有收到错误“未定义窗口”,我无法通过导入它,所以显然这似乎是一个节点兼容性问题。那么有没有办法增加cheerio中的选择器库或者导入另一个具有我需要的jquery选择器功能的模块?
javascript - jsdom返回结果后在外部资源脚本(页面上的脚本)上抛出错误
我收到一个错误,该错误似乎源于其中一个页面脚本。
我从以下代码中收到此错误:
这str
是我之前得到的html。我能够看到打印结果,html 的 innerWidth 和 typeof getElementsByClassName 即。功能。但是大约 20 秒后,我收到了上述错误,我的应用程序崩溃了,没有Got ERROR...
从上面打印。
我的第一个问题是为什么我的应用程序在打印最后一件事后仍在运行。这是 jsdom 的正常行为吗,它会一直运行,就像在浏览器中脚本一直运行直到给出 window.close() 一样。
实际问题是,我该如何解决这个问题。我想在这个窗口对象中触发一些事件并与之交互,但它一直在崩溃。
脚本的 url 有点混乱:
file://cdn.widgets.webengage.com/js/widget/webengage-min-v-3.0.js:1
这是因为页面在 ajax 调用中使用 url 获取此脚本资源:
//cdn.widgets.webengage.com/js/widget/webengage-min-v-3.0.js:1
尽管 jsdom 能够获取资源,但我检查了该脚本是否有显示错误的那一行。
jquery - Get text in parent without children using cheerio
I am trying to extract just the content of a div - without any of the children of that div - using cheerio. If I just use div.text() - I get all the text - parent and children. Here's the HTML - I just want the value "5.25"
The code below currently returns "Purchase price $5.25"
The HTML below:
with the extract of the relevant node.js CHEERIO code below:
node.js - How to get immediate child in cheerio
I'm trying to parse through an awful website and I need some help with using cheerio.
I know that if I for example want to get html of a body of a html I do
How do I descend through multiple elements?
(What if I want to get html > body > font > table > tbody > tr ?)
!! Have to be careful with all these elements being immediate children, I do not want to catch some other nonimmediate children (for example if table > table existed)
node.js - 抓取谷歌翻译
我想用 NodeJS 和 Cheerio 库来抓取谷歌翻译:
但他无法从翻译框(result_box)中找到必要的跨度元素。在网站的源代码中,它看起来像这样:
所以我想我可以等待 5-10 秒,直到谷歌创建了所有跨度元素,但没有.. 似乎不是..
请问你能帮帮我吗?:)
解决方案:
我使用 http.get 而不是cheerio:
所以我得到一个带有翻译的结果字符串。使用的 url 是对服务器的请求。