首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

如何用 nodeJs 解析外部链接网页的 DOM 信息?

  •  
  •   youchoudeyu · 2017-03-05 12:32:58 +08:00 · 1141 次点击
    这是一个创建于 961 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,最近想试试用 nodeJS 做个爬虫,用了 cheerio 却发现 cheerio 做不到解析出 DOM 的一些特征信息,如尺寸大小和 DOM 元素结点的位置什么的,记得 phantom 可以当浏览器进行渲染?是否可以做到在 node 环境下采集外部链接,如百度首页的文档结构,获取其中的 DOM 属性信息?

    6 回复  |  直到 2017-03-05 16:03:25 +08:00
        1
    yyfearth   2017-03-05 14:43:19 +08:00 via iPhone
    PhantomJS 还是一个浏览器 如果只是需要基本的解析功能 jsdom 应该可以
        2
    jiangzhuo   2017-03-05 14:43:34 +08:00
    phantomjs 可以执行 js 但是不能进行 css 渲染里面没有渲染引擎
        3
    n   2017-03-05 15:33:36 +08:00   ♥ 1
    说起 NodeJS 写爬虫,让我想起这两个项目,可能对楼主的问题起不到什么帮助,但也许对其他朋友是有用的。

    https://github.com/lapwinglabs/x-ray
    https://github.com/rchipka/node-osmosis
        4
    hanzichi   2017-03-05 15:37:10 +08:00
        5
    youchoudeyu   2017-03-05 15:46:16 +08:00
    @yyfearth jsDom 能对网站的样式表进行解析吗?我觉得我想要的比如 DOM 的尺寸位置之类的,没有 css 样式渲染得到的结果也许是不正确的吧
        6
    youchoudeyu   2017-03-05 16:03:25 +08:00
    @hanzichi 目前正在尝试`phantomjs-node`
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3009 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51
    ♥ Do have faith in what you're doing.