jquery - 在Windows上使用node.js抓取网站

标签 jquery node.js jsdom

尝试让 jsdom(node.js 模块)在 Windows 上工作。 一直提示没有为我的 Node 版本构建。

在 Linux 机器上安装了 Node (相同版本,0.5.9,来自源代码)并对其进行了 Node 处理。 然后我将其复制到Windows机器(在node_modules下)

还是不行...

有什么想法吗?或者从对 Node 发出的请求的响应中获得的解析 HTML 的其他建议?

通过 jsdom 使用 jquery 会很方便。

干杯。

最佳答案

很抱歉,jsdom (>=0.2.3) 目前需要一个 C++ 插件,该插件在 Windows 上运行不佳。我认为你最好的选择是尝试安装 [email protected]并解决在 jsdom 窗口上下文中执行 javascript 导致的内存泄漏问题。

解决方法包括:

  • 为每个 dom 生成一个新进程
  • 重用窗口并通过 document.body.innerHTML = '..new markup..'; 替换 DOM

目的是放弃 C++ 插件,但不幸的是目前不可能。

关于jquery - 在Windows上使用node.js抓取网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801156/

相关文章:

jquery - 追加后,没有jquery效果

jquery - 每个类元素的简单 jquery .hover() 方法

javascript - 使用 Node/Express 路由 + HIJAX 模式进行渐进增强?

javascript - 如何在 Restify 7.x 中使用自定义错误选项创建自定义错误?

javascript - 从一个 gulpfile.js 从另一个 gulpfile.js 运行 gulp 任务

javascript - 如何使用 cheerio 从网页中的换行符中抓取内容

javascript - Jest/Enzyme 图像加载回调未运行

javascript - 为什么即使 Window.location.href 包含查询字符串,Window.location.search 也未定义?

jquery - 在 JQuery 中还有比这更有效的元素排序方法吗?

javascript - 使用 javascript 在不同的行中加载单个 <td> 表数据