【问题标题】:Scrape a page with AJAX requests使用 AJAX 请求抓取页面
【发布时间】:2011-05-27 13:32:05
【问题描述】:

我正在使用带有 jsDOM 的 Node.js 来抓取网页并在其中执行 JavaScript。但如果页面包含 AJAX 请求,则不会执行。

是否有在抓取的页面内执行 AJAX 调用的选项?

【问题讨论】:

  • 我肯定会执行 Javascript(使用 jsdom 的 FetchExternalResources 和 ProcessExternalResources 功能)

标签: javascript ajax node.js web-scraping


【解决方案1】:

您需要模拟 XMLHTTPRequests。这是abstraction。它们在 node.js 中不能开箱即用。

你必须弄清楚如何让它与 jsdom 对话。 (希望只是将 xmlhttprequest 构造函数附加到 window 将修复它)

【讨论】:

  • 感谢您的提示!实际上我用 jQuery 抓取页面,他们似乎使用“假 xhr” - jqXHR。你的解决方案也解决了这个问题吗?
  • jqXHR 不是假的 xhr。它是 XMLHTTPRequest 的包装器。您想要一个新的 XMLHTTPRequest 对象,因为节点没有任何 ajax 的概念
猜你喜欢
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-21
  • 2021-06-19
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多