【问题标题】:Fundamental questions about injectFile关于 injectFile 的基本问题
【发布时间】:2019-11-07 08:56:39
【问题描述】:

我有一些关于 injectFile 的基本问题:

  1. 您何时建议使用 injectFile(code) 而不是 page.evaluate(code, ...) 将代码放入要抓取的页面中?
  2. 使用 injectFile(code) 有哪些区别/优势/劣势,例如在性能、抗刮擦检测能力等方面?
  3. 应该如何像我一样通过替换 gotoFunction 和实现 page.on('domcontentloaded', ...) 事件来实现 injectFile(code)?还是有更好的方法?
  4. 如果不是我上一篇文章中描述的,选项“surviveNavigations”的用例是什么?它有什么用?

最好的问候, 沃尔夫冈

【问题讨论】:

    标签: apify


    【解决方案1】:

    如果你看injectFile的简短源代码,它使用page.evaluate,所以它们基本相同。

    1) 我们几乎总是使用page.evaluate,因为它的代码更少。如果我们需要使用一些更复杂的库,我们在 Node.js 进程(服务器端)中使用它们,而不是将其注入到页面中。我们只对 JQuery 使用注入。

    2) 性能或抗刮擦都没有关系。

    3) 通常我们会在handlePageFunction 中注入,但如果您在导航之前需要它,您可以在gotoFunction 中注入。

    4) 例如,如果您单击按钮,则页面可以导航。但是对于一个新的页面/请求,你应该再次注入它。正如我所说,除非您使用一些巨大的库,否则它不会对性能产生任何影响。

    【讨论】:

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