【问题标题】:CasperJS: run multiple instances of script?CasperJS:运行多个脚本实例?
【发布时间】:2017-10-12 02:34:20
【问题描述】:

我对 Javascript 编程相当陌生,并且正在研究使用 CasperJS 构建的网络抓取脚本。

问题是它相当慢,但它确实有效。我试图想办法制作一个覆盖脚本/程序来启动我创建的这个脚本,但我不确定最好的方法。我已经尝试过 GNU Parallel 命令,但我更喜欢使用 JS、PHP 或 Python 的东西,因为我更熟悉这些语言。

我也知道 CasperJS 实例将共享 cookie 和本地存储,但这在我的用例中不是问题。 如果有对这种架构和框架更有经验的人可以帮助我,我将不胜感激。

谢谢!

【问题讨论】:

  • 定义“慢”。你能描述一下你认为你正在经历的瓶颈吗?你能用xargs to run a bunch of instances in parallel吗?
  • 您是否花了一个小时浏览 GNU Parallel 教程? gnu.org/software/parallel/parallel_tutorial.html
  • @tadman 我引用的缓慢与我正在抓取的网站有关。完成我需要的所有操作,大约需要 3 分钟。考虑到我需要在重新启动之前运行其中的大约 60 个,您可以了解我为什么要同时运行作业:)
  • @OleTange 我没有全力以赴,但我确实阅读了一些部分并在终端上进行了一些测试。我现在想寻找其他替代方案(特别是在 Node 中),因为我对 Shell 不太熟悉。

标签: javascript python node.js shell casperjs


【解决方案1】:

我最终使用了 NodeJS 的 child_process:https://nodejs.org/api/child_process.html 这几乎是我想要的,并且使用了我在 CasperJS 脚本中已经使用的相同语言。

我使用的教程和示例:https://era86.github.io/2012/10/11/quick-and-dirty-nodejs-exec-limit-queue.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多