CNode

关于node写爬虫

问答
Rrebornchris发布于9 年前最后回复9 年前16 回复6112 浏览0 收藏

用cheerio+superagent写爬虫好像也不赖,有人了解用node写爬虫吗?和python相比之下有有什么优缺点呢?

查看回复

回复 (16)

1
1261407209LHH#1·9 年前

分享板块有大神的文章 From Noder

I
i5ting#2·9 年前
T
tomoya92#3·9 年前

@1261407209LHH pm2不是可以起多线程运行node项目吗?

N
netssfy#4·9 年前
引用 1261407209LHHNode是单线程,python可以充分利用多线程 From Noder

@1261407209LHH node只是V8上跑的JS代码是在一个单线程上。node runtime自己是多线程的 所以网络请求,文件读取,这种异步IO都可以利用到多线程

J
JinsYin#5·9 年前
J
jiangzhuo#6·9 年前

没区别,框架大家一通抄 一摸一样

Z
zy445566#7·9 年前
引用 1261407209LHHNode是单线程,python可以充分利用多线程 From Noder

@1261407209LHH 就算是单线程,可是node没说自己是单进程,进程还是可以多开的

N
NeilyoSummer#8·9 年前

C语言可以写程序,Python语言也可以写程序,Js也可以写程序; 看你怎么写,写出来的代码风骚与否了

R
rebornchris#9·9 年前

来人啊。。。

1
1261407209LHH#10·9 年前

Node是单线程,python可以充分利用多线程 From Noder

U
ugrg#11·9 年前

没啥区别,看你用那个爽了.

E
Equim-chan#12·9 年前

node单线程没错,但I/O是非阻塞的啊,照样能并发请求。

J
JsonSong89#13·9 年前

爬虫绝大部分开销都在网络io上,js的异步特性在这里是有优势的.

M
MedusaLeee#14·9 年前

我看了大多数楼层的回复,总体来说其实没把握住终点,都在谈论python和node两种语言的区别。其实在写爬虫来说,区别不在语言本身,而是在针对爬虫的社区解决方案上。node的cheerio是一个解析库相当于beautifulsoup。但是在python生态中有成熟的爬虫框架scrapy,selenium等,这些框架几乎能解决我们在爬虫中遇到的所有问题,而不仅仅是写个demo玩玩,不知道的朋友可以去了解下。看上面的朋友的介绍,我发现大家对爬虫的理解太片面了,只有获取和解析,其实里面的道道还很多呢,比如 模拟浏览器执行js,如何防爬等。 其实这和单线程和多线程,异步和同步没多大关系。

M
MedusaLeee#15·9 年前

现在异步io已经不是新鲜的事情了,对于node来说先天这样是优势,并不代表是绝对的优势。java中的nio异步io,netty是一个异步的、事件驱动的网络应用程序框架。 python的asyncio,异步框架也有,php也有了。先天支持和只有node支持是不一样的。大家好像认为只是node才是异步io。

A
Azard#16·9 年前

我用的 urllib+cheerio+promise.all,挺方便的

参与回复
登录后即可参与回复。登录