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

2017-03-05 12:32:58 +08:00
 youchoudeyu

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

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

https://github.com/lapwinglabs/x-ray
https://github.com/rchipka/node-osmosis
hanzichi
2017-03-05 15:37:10 +08:00
youchoudeyu
2017-03-05 15:46:16 +08:00
@yyfearth jsDom 能对网站的样式表进行解析吗?我觉得我想要的比如 DOM 的尺寸位置之类的,没有 css 样式渲染得到的结果也许是不正确的吧
youchoudeyu
2017-03-05 16:03:25 +08:00
@hanzichi 目前正在尝试`phantomjs-node`

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX