V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trys1
V2EX  ›  程序员

关于无界面浏览 web、headless、har、模拟浏览器

  •  
  •   trys1 · 2017-03-30 17:33:30 +08:00 · 3419 次点击
    这是一个创建于 2576 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如何更好更轻量地在服务端获取 har (一个 URL 下所有元素的信息)?

    我需要的: 例如: 输入: http://www.163.com 获得:该页面里所有元素,例如图片、 js 、 css 等的信息(包括 header 、 size 、 dns 时间、连接时间、下载时间等等)

    试过的方案: phantomjs 缺点:没有 dns 时间和连接时间

    chrome --headless --remote-debugging-port 缺点:太庞大了,安装包 40+MB ,还依赖一堆,全套起来接近百兆

    我的服务端是对硬盘空间比较敏感的小型 linux 请问,有没有比这两个方案更好更轻量(程序文件尺寸)的其它方案?

    10 条回复    2017-03-31 22:52:54 +08:00
    Arrowing
        1
    Arrowing  
       2017-03-30 21:24:35 +08:00
    webtestpage ?
    Arrowing
        2
    Arrowing  
       2017-03-30 21:25:18 +08:00   ❤️ 1
    打错了, 2333333
    webpagetest
    behappy
        3
    behappy  
       2017-03-30 21:25:28 +08:00   ❤️ 1
    nightmare
    knightdf
        4
    knightdf  
       2017-03-30 21:46:22 +08:00   ❤️ 1
    splash
    trys1
        5
    trys1  
    OP
       2017-03-31 15:47:13 +08:00
    @Arrowing 单单“ webpagetest_3.0.zip ”就要 48MB 了,部署这套方案应该要接近百兆以上的磁盘空间了吧? 还得需要安装 python 、 php?
    trys1
        6
    trys1  
    OP
       2017-03-31 15:48:13 +08:00
    @behappy 它仅仅依赖 node.js 吗? 还需要再安装别的东西吗? 它能获取到每个元素的 dns 时间 connect 时间吗?
    trys1
        7
    trys1  
    OP
       2017-03-31 15:52:10 +08:00
    @knightdf splash 这个方案还要安装 QT 库和 python 吗? 主要是 QT 库太庞大了
    knightdf
        8
    knightdf  
       2017-03-31 16:17:22 +08:00
    @trys1 是的,但是他可以获取详细 har
    knightdf
        9
    knightdf  
       2017-03-31 16:18:05 +08:00
    @trys1 但是你还可以直接用 docker ,不过看你具体要多小了
    behappy
        10
    behappy  
       2017-03-31 22:52:54 +08:00
    @trys1 sorry 没看清。这个还依赖 phantomjs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3130 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:21 · PVG 22:21 · LAX 07:21 · JFK 10:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.