youchoudeyu
V2EX  ›  问与答

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

  •  
  •   youchoudeyu · Mar 5, 2017 · 3170 views
    This topic created in 3533 days ago, the information mentioned may be changed or developed.

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

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

    https://github.com/lapwinglabs/x-ray
    https://github.com/rchipka/node-osmosis
    hanzichi
    hanzichi
    Mar 5, 2017
    4
    youchoudeyu
    youchoudeyu
    OP
    Mar 5, 2017
    5
    @yyfearth jsDom 能对网站的样式表进行解析吗?我觉得我想要的比如 DOM 的尺寸位置之类的,没有 css 样式渲染得到的结果也许是不正确的吧
    youchoudeyu
    youchoudeyu
    OP
    Mar 5, 2017
    6
    @hanzichi 目前正在尝试`phantomjs-node`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1756 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 15:55 · PVG 23:55 · LAX 07:55 · JFK 10:55
    ♥ Do have faith in what you're doing.