长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

1、如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大。

当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。

此时候,页面内容是有js/ajax动态生成的,用普通的请求页面-解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。

3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候

大规模爬虫爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。

NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。

Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具;

此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。

至于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于大部分公司还是建议基于一些开源的框架来做,不要自己发明轮子,做一个简单的爬虫容易,但要做一个完备的爬虫挺难的。

像我搭建的微信公众号内容聚合的网站 就是基于Scrapy做的,当然还涉及消息队列等。可以参考下图:

1【专注:Python+人工智能Java大数据HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】

现代语言(尤其是像PHP、python、Node.js这类开源式语言种类)在网络协议的支持方面都十分完善。

当然,像微软的C#也不错,但该语言写起来,却感觉特别的繁琐,不像你说的这两种语言这么简单干练。

我用C#和PHP写过采集器,唯一的原因是C#可以更完善直接地运行地windows系统上,这是最原始的初衷,而我那个时候最擅长的却是PHP和python,这要看你侧重于哪一个方面。

如果你对这两门语言都比较精通,你选择哪一个都可以,而这两种语言都是在linux系统中有更加优异的表现。

Node.js算是一门新兴语言,但它因为源自于javascript,所以它的干练是出了名的,连python都不及它,如果你想少打点字,那选node.js

嗯,不管我说多少,总之一句话:这两种语言因为没有最为根本的系统要求区别,所以看你对哪一个更为精通,就选择哪一种。

如果你都是初学,建议从Node.js开始,因为javascript的各种回调相当拥有代表性,玩转了它,呵呵,其它语言的那些逻辑都不是事儿。。。。

补充一下,因为python出现的时间要比Node.js早,所以很多模块的支持要更全面和完善一些。

我最近在搞嵌入式的软体开发,python还是最爱,因为它的领域更广一些。

python和nodejs哪个写爬虫好_PythonNodejs 哪个比较适合写爬虫相关推荐

  1. 写java接口的文档工具_【java】适合写接口文档的工具,或者文本语法

    由于后端与前端使用ajax交互,后端写接口文档变得非常有必要.以前我习惯用word写接口文档,但是最近与同事合作编写后端,word并不适合使用svn工具做同步,因为svn.git等无法自动合并word ...

  2. php和python写爬虫-python和php哪个更适合写爬虫

    python和PHP相比较,python适合做爬虫.原因如下 抓取网页本身的接口 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如per ...

  3. Python爬虫入门教程 91-100 帮粉丝写Python爬虫之【河北单招学校信息爬虫】

    帮粉丝写爬虫第一篇,接到一个简单的任务,让我爬取一下河北单招学校相关的信息,那最后这10篇博客,第一篇就从这里开始吧.(其实写到现在,我甚至想继续写下去了,没准能凑个爬虫108篇~哈哈哈) 当我把源码 ...

  4. python中data.find_all爬取网站为空列表_Python网络爬虫之Scrapy 框架-分布式【第二十九节】...

    1. 介绍scrapy-redis框架 scrapy-redis 一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能. github地址: https://g ...

  5. python爬虫反爬机制_浅谈爬虫及绕过网站反爬取机制之Python深度应用

    我们中公优就业的老师希望能给那些面临困境的朋友们带来一点帮助!(相关阅读推荐:Python学习就看这里!) 爬虫是什么呢,简单而片面的说,爬虫就是由计算机自动与服务器交互获取数据的工具.爬虫的最基本就 ...

  6. 普通爬虫有啥意思,我写了个通用Scrapy爬虫

    大家好,我是Kuls.今天是来自读者剑南的投稿. 除了钱,大家还比较喜欢什么?当然是全能.万能和通用的人或事物啦,例如:全能.什么都会的员工.万能钥匙.通用爬虫等等.今天我们学习Scrapy通用爬虫, ...

  7. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇

    前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一个比较 ...

  8. python3 爬虫例子_如何让你写的爬虫速度像坐火箭一样快【并发请求】

    开坑个新系列,主要面向新手,老司机可以忽略. 这个系列内的文章将会让你知道如何做到让你写的爬虫在运行的时候速度能像火箭一样快! 很多初学爬虫的朋友对于这方面的知识似乎是空白的,甚至还有一些在爬虫岗位上 ...

  9. Python 爬虫 性能 相关( asyncio 模块 --- 高性能爬虫 )

    From:https://www.cnblogs.com/bravexz/p/7741633.html 爬虫应用 asyncio 模块 ( 高性能爬虫 ):https://www.cnblogs.co ...

最新文章

  1. 20165206 2017-2018-2 《Java程序设计》第三周学习总结
  2. POJ 2255 Tree Recovery 二叉树恢复
  3. 字符串排序 java_java字符串排序
  4. C++继承中父类和子类之间的同名覆盖
  5. php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...
  6. AndroidStudio中添加第三库文件的方法
  7. win08跟linux,Win 8 PK Linux!八大优势助微软完胜
  8. xmind怎么在左边创建_威纶通 触摸屏自动化应用篇 创建程序界面及画面应用
  9. VC Dimension -衡量模型与样本的复杂度
  10. 清华大学计算机系招生数量,清华大学报考信息出炉,计算机报考人数最多,有些专业无人报考...
  11. 你只管打开这个视频,剩下的交给「卧槽」
  12. Linux多线程pthread使用
  13. Redis桌面管理工具RedisDesktopManager
  14. 实现图片在时间轴左右交替放置
  15. java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署
  16. SONET/SDH概述
  17. echarts饼图默认中间显示总数
  18. SpringBoot整合RabbitMQ之Spring事件驱动模型
  19. 转换金额为大写人民币-Java
  20. 数据湖和数据仓库区别介绍

热门文章

  1. 如何实现大数据可视化系统
  2. 大数据分析需掌握哪些方面
  3. 数据可视化的十大优点
  4. 华为否认鸿蒙为噱头网易,华为否认鸿蒙系统为噱头 必要可用于手机
  5. 汇率兑换 双向兑换_常出国的你一定要看:如何兑换外币最省钱?
  6. 练习题︱ python 协同过滤ALS模型实现:商品推荐 + 用户人群放大
  7. [python]python urllib 模块
  8. GO语言学习之路10
  9. 大家社区荣获最具影响力品牌
  10. Android studio 如何导入并引用Library工程