弱弱问一下,用nodejs来做网络爬虫是不是很适合呢?
发布于 12 年前 作者 cloudaice 32956 次浏览 最后一次编辑是 8 年前

之前用python抓取过一些东西,处理的时候主要是靠模块。现在突然想到javascrip用来处理dom节点,网页中的元素。那么用nodejs来抓取有效的网页信息会不会很有效呢?

14 回复

我是刚看完这篇文章发的贴的,主要问的是对于处理已经抓取的页面的处理上会不会简单一些。比如各种标签不闭合之类的。

@cloudaice 你多想了。
你的想法应该是解析抓取到的html dom,然后像在浏览器里的js一样处理网页?
你应该还是没分清nodejs是什么。。

爬+保存是挺快的, 异步。 网络和数据库齐头并进,IO等待开销小 数据挖掘起来也挺方便,找到特殊节点筛选什么的

扒数据用node肯定是没问题,如果要做到最优解析的话,肯能相对困难,但是对于固定样式页面,问题还是不大的。如果要通用又要能解析好,建议直接外挂phantomjs,但是这样无法保证效率

@HelloWhat 我知道nodejs的用处不在这里,你说的前半句话是我想的,我是这么想的,js本来就处理html dom。而现在抓取数据各种语言都可以,问题在于处理html页面比较麻烦。所以才有这样的想法,用nodejs实现一个类似的库也可以吧。

lz你说没错,的可以用headless browser(比如jsdom) + jquery for node么很方便的 不过要记得释放

node.js摆脱了html dom的束缚,现在又要给它把枷锁戴回去吗,这是反其道行之的做法。

异步IO可以让爬虫不会被网络和数据库读写限制,但是目前nodejs的解析html的库好像比价烂,所以我认为解析html会是瓶颈

十分同意。

这个,jsdom是专门干这个的吧,解析抓回来的Html,基本上相当于jquery.

我都是这么做的

爬还是很简单的,重要的是数据处理吧;爬,node还是很适合的,数据处理貌似不是很适合。

其实单单只是爬的话,python也是很简单的。难就难在数据处理上面。

回到顶部