javascript - 在浏览器环境中执行 1000+ 页/分钟

标签 javascript .net dom webbrowser-control

如果每分钟超过 1000 个 XHTML 文档,我将如何下载和执行(即评估 Javascript、构建 DOM)?

一些大纲/约束:

  • 要下载的 URL 在不同的服务器上。
  • 我需要遍历 - 理想情况下修改生成的 DOM。
  • 对渲染图形不感兴趣。
  • 带宽不是问题。
  • 过于庞大的硬件并行化将是一个更大的问题。
  • 生产环境是 .NET。

我不太关心下载页面。我估计实际执行页面是一个瓶颈。 .NET 有一个内置的 Web 浏览器对象,但我不知道它是否会在一台机器上扩展。此外,.NET 不是绝对要求,但它会使这里的集成更容易。

对于以下方面的任何评论/指示,我将不胜感激:

  • 哪个浏览器 API 最适合执行此操作?
  • 浏览器是否是正确的方式 - 也许有更轻量级的方式来执行 Javascript 这是最重要的部分(......但不提供 DOM)?
  • 哪些现有产品/服务(无论是开源的还是商业的)可以完成这项任务?
  • 我预计在一台机器上每分钟大约可以处理多少页(3 毫秒 Chrome 渲染商业广告)?
  • 任何可能遇到的陷阱...

提前谢谢你,

/大卫

最佳答案

看看 .NET 的 headless 浏览器之一 - 它们将比 BrowserControl 更快,因为它们不需要呈现图形 View 。

我不知道这是否能让你每分钟执行 1000 页,但应该比控件快得多。

Here是一个。

Here是一篇关于使用 HtmlUnit 作为 headless 浏览器的博文。

an SO question关于 headless 浏览器。

关于javascript - 在浏览器环境中执行 1000+ 页/分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864207/

相关文章:

Javascript 和 HTML 按钮不起作用?

javascript - 何时在 d3 中使用持续时间与延迟

c# - 如何填充 C# Windows 窗体组合框?

c# - 是否有一种*干净*的方法可以使只读依赖属性反射(reflect)另一个属性的值?

javascript - 如何在不重新加载或重新呈现页面的情况下将 JSON 从 node.js 后端返回到前端?

javascript - 使用 fetch 后如何重新加载页面

javascript - Chrome 扩展 XSS 可能性

c# - 如何使用 xUnit 对 C# 事件进行单元测试

javascript - DOM 中的 JavaScript 是异步代码还是同步代码?

javascript - 数组错误 "object is not a function"