Python vs Node.js 哪个更适合用于爬虫?

2017-02-27 10:05:38 +08:00
 zungmou

Python 的优点是高效,从零到爬半个小时估计就能动起来。

Node.js 更侧重于 io 处理,但其 Javascript 语言特性也能带来高效的开发体验。

两者都有不错的异步性能, Python 3 之后已经原生支持协程, Node.js 更不用说了。

所以这两个用于爬虫,如果都熟练掌握,你会更倾向于哪一个?

11715 次点击
所在节点    Python
39 条回复
maxmilia
2017-02-27 11:14:36 +08:00
PHP
v2dead
2017-02-27 11:14:38 +08:00
@zungmou 你可以一直加服务嘛,性能不够机器来凑。不过确实是要隔一段时间重启 phantomJS ,不知道是不是内存泄露,隔一段时间内存跑的高的不行。我当时是做进程池,每个 phantomJS 能跑十几次任务就直接让它重启了。
murmur
2017-02-27 11:29:16 +08:00
@neoblackcap 线程和进程有区别么,难道用线程渲染页面的 cpu 负载就能下来?
XIVN1987
2017-02-27 11:33:17 +08:00
如果只是爬虫的话,用自己最熟悉的最好
如果还想对爬来的数据进行分析的话,那 Python 更好,有 pandas 这样的神器,还有很多统计、机器学习方面的库
mazyi
2017-02-27 12:01:45 +08:00
node 一个巨大的优势在于如果你要爬的页面用 js 搞了个前端加密,虽然没有什么用但是 python 就很难处理
jy01264313
2017-02-27 12:01:58 +08:00
Python
neoblackcap
2017-02-27 12:06:47 +08:00
@murmur 你开进程需要内存的啊,线程可是共享内存啊。
jarlyyn
2017-02-27 12:15:40 +08:00
@fy

node 不是有 vm 么
fy
2017-02-27 12:20:21 +08:00
@jarlyyn 作为平台无关的动态语言,大家都有 vm 吧……
xieranmaya
2017-02-27 12:22:53 +08:00
我都是直接在浏览器里爬的
freestyle
2017-02-27 12:27:59 +08:00
scrapy +
jarlyyn
2017-02-27 12:28:54 +08:00
only0jac
2017-02-27 12:30:48 +08:00
怎么没人说 pyspider
akring
2017-02-27 12:37:41 +08:00
@xieranmaya 老铁 666
fy
2017-02-27 14:16:51 +08:00
@xieranmaya 生物脑智能技术肉眼爬虫表示压力不大
songjiaxin2008
2017-02-27 14:22:36 +08:00
我觉得都可以啊...Python 也有执行 JS 的包 之前用的是这个 https://github.com/doloopwhile/PyExecJS 但是国内更多的云平台都可以免费运行 Node 再加上[Cheerio]( https://github.com/cheeriojs/cheerio)这种包 也是很爽的
insomniowl
2017-02-27 20:01:17 +08:00
进来学习
mingyun
2017-02-27 22:54:13 +08:00
python requests 不解释
log4geek
2017-03-04 15:37:24 +08:00

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

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

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

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

© 2021 V2EX