微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Scrapy splash 通常需要几分钟才能呈现相同的 React 网站

如何解决Scrapy splash 通常需要几分钟才能呈现相同的 React 网站

我的 splash 3.5 实例(aquarium)在 8GB ram 4 核 Digital Ocean droplet 上运行,这似乎足以完成这项工作。

我的抓取脚本有效,但问题是呈现页面通常需要 3 分钟。在启动日志中,我可以看到它在下载 (react) main.chunk.js 后就卡住了,所以看起来解释 js 代码需要很长时间,然后继续下一步(在此期间) ,cpu 使用率一直在 100% 以上)。

一旦通过一次,下面的渲染非常快,因为(我的猜测)js 块似乎不会再次下载(我可以在 har 中看到它)。我将私有模式设置为 false(对于这个网站来说似乎是必要的),这是否意味着 js 脚本在浏览器中被飞溅缓存? (最大年龄设置为 1200 所以也许这就是为什么问题经常发生的原因,基本上每次飞溅都必须再次下载 js 脚本)。但这一切都只是猜测。

我不知道还有什么可以解决这个问题。还是只是网站没有优化,无法修复?普通浏览器不会出现这个问题,所以我想它是可以修复的......任何方向的任何指针都将不胜感激。

function main(splash)

    splash:set_user_agent("Mozilla/5.0 ........")
    splash.resource_timeout = 3
    splash.images_enabled = false
    splash.private_mode_enabled = false
    splash.response_body_enabled = true
    assert(splash:go("https://ventes.ouigo.com/fr-FR/booking/login"))

    return {har=splash:har(),png=splash:png()}
end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。