Python 的优点是高效,从零到爬半个小时估计就能动起来。
Node.js 更侧重于 io 处理,但其 Javascript 语言特性也能带来高效的开发体验。
两者都有不错的异步性能, Python 3 之后已经原生支持协程, Node.js 更不用说了。
所以这两个用于爬虫,如果都熟练掌握,你会更倾向于哪一个?
|      1mooncakejs      2017-02-27 10:06:57 +08:00 选 js | 
|  |      2wellsc      2017-02-27 10:08:14 +08:00 c++ | 
|  |      3kidlj      2017-02-27 10:08:30 +08:00 via iPhone node | 
|  |      4zjsxwc      2017-02-27 10:13:58 +08:00 额,看你熟练哪种语言呗,我用 php ,毕竟 phpquery 可以像 jquery 一样操作获取到的 html 文本,通过 curl 函数就可以异步或同步的模拟浏览器操作。 | 
|      5sudoz      2017-02-27 10:23:10 +08:00 js 的好处是可以直接在浏览器里跑,想想就带劲 | 
|  |      6zungmou OP | 
|  |      7smallpath      2017-02-27 10:24:37 +08:00 node 请使用 v7.6.0 ,直接用 async/await 无痛开写,开了跨域代理还可以直接在 chrome 里跑 | 
|  |      8TangMonk      2017-02-27 10:29:24 +08:00 node +1, 性能好, 还有 PhantomJS 模拟浏览器 | 
|  |      9jiangzhuo      2017-02-27 10:30:27 +08:00 要不要试试 neocrawler | 
|      10v2dead      2017-02-27 10:41:40 +08:00 曾经是 phantomJS 做代理抓取渲染页面, python 在另一端处理任务,对抓到数据进行规整。这算是两个都用么? | 
|      11simapple      2017-02-27 10:44:37 +08:00 scrapy +1 | 
|  |      14murmur      2017-02-27 11:00:20 +08:00 现在爬虫的性能早就不是问题 难点在动态数据和反爬虫上 你不是会挂代理么 吼哇 那我们就玩注册吧 | 
|  |      15DarsyCheuk      2017-02-27 11:00:28 +08:00 哪个熟悉点就用哪个呗  个人偏向 node 毕竟 js 语言摆在那😄 | 
|      17neoblackcap      2017-02-27 11:01:13 +08:00 @zungmou 内存泄漏 | 
|      18neoblackcap      2017-02-27 11:05:38 +08:00  1 个人感觉大规模的爬虫都不应该使用基于 Chrome 的技术,基于 mozilla 的 spidermonkey 来做的爬虫可能性能会更好,关键是 V8 的引擎并非线程安全,你用到 V8 的时候就需要加锁,要提高并行就是加进程。一台服务器能上多少个进程? | 
|  |      19zungmou OP | 
|  |      20fy      2017-02-27 11:12:29 +08:00 都适合。 nodejs 有个额外好处是能直接解释执行页面上部分 js 代码(虽然要考虑安全性)。 | 
|      21maxmilia      2017-02-27 11:14:36 +08:00 PHP | 
|      22v2dead      2017-02-27 11:14:38 +08:00 @zungmou 你可以一直加服务嘛,性能不够机器来凑。不过确实是要隔一段时间重启 phantomJS ,不知道是不是内存泄露,隔一段时间内存跑的高的不行。我当时是做进程池,每个 phantomJS 能跑十几次任务就直接让它重启了。 | 
|  |      23murmur      2017-02-27 11:29:16 +08:00 @neoblackcap 线程和进程有区别么,难道用线程渲染页面的 cpu 负载就能下来? | 
|  |      24XIVN1987      2017-02-27 11:33:17 +08:00 via Android 如果只是爬虫的话,用自己最熟悉的最好 如果还想对爬来的数据进行分析的话,那 Python 更好,有 pandas 这样的神器,还有很多统计、机器学习方面的库 | 
|  |      25mazyi PRO node 一个巨大的优势在于如果你要爬的页面用 js 搞了个前端加密,虽然没有什么用但是 python 就很难处理 | 
|  |      26jy01264313      2017-02-27 12:01:58 +08:00 Python | 
|      27neoblackcap      2017-02-27 12:06:47 +08:00 @murmur 你开进程需要内存的啊,线程可是共享内存啊。 | 
|  |      30xieranmaya      2017-02-27 12:22:53 +08:00 我都是直接在浏览器里爬的 | 
|  |      31freestyle      2017-02-27 12:27:59 +08:00 scrapy + | 
|  |      32jarlyyn      2017-02-27 12:28:54 +08:00 | 
|  |      33only0jac      2017-02-27 12:30:48 +08:00 via Android 怎么没人说 pyspider | 
|  |      34akring      2017-02-27 12:37:41 +08:00 @xieranmaya 老铁 666 | 
|  |      35fy      2017-02-27 14:16:51 +08:00 @xieranmaya 生物脑智能技术肉眼爬虫表示压力不大 | 
|  |      36songjiaxin2008      2017-02-27 14:22:36 +08:00 我觉得都可以啊...Python 也有执行 JS 的包 之前用的是这个 https://github.com/doloopwhile/PyExecJS 但是国内更多的云平台都可以免费运行 Node 再加上[Cheerio]( https://github.com/cheeriojs/cheerio)这种包 也是很爽的 | 
|      37insomniowl      2017-02-27 20:01:17 +08:00 进来学习 | 
|      38mingyun      2017-02-27 22:54:13 +08:00 python requests 不解释 | 
|  |      39log4geek      2017-03-04 15:37:24 +08:00 给 Python 投一票! Python 爬虫, 12 天从入门到精通。不信看看这个 http://log4geek.cc/2017/03/%e9%9b%b6%e5%9f%ba%e7%a1%8012%e5%a4%a9%e4%bb%8e%e5%85%a5%e9%97%a8%e5%88%b0%e7%b2%be%e9%80%9apython%e7%88%ac%e8%99%ab/ |