微信咨询
咨询电话:021-37656315 手机:13818750604
上海营销型网站建设 网站优化 seo优化 网络营销 就选上海百橙网络技术有限公司
我们的优势: 优化团队核心成员10年SEO经验 5000+新闻媒体资源,1500家企业合作 企业保证,正规流程,正规合作 承诺24小时快速解决问题
您的位置: 首页 > 首页 > 营销学院 > SEO基础 >
PythonNodejs 哪个比较适合写爬虫
发表日期:2019-08-31 23:10       游览次数:   

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

  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还是最爱,因为它的领域更广一些。

免责声明:本站部分资源图片及文字信息来自网络,如侵犯到您的权益,请及时通知我们:Email: 68409478@qq.com
新闻分类

为您推荐相关资讯 MORE

为您推荐相关建站案例

关于我们

百橙云专注网站建设,SEO优化,网络品牌塑造,我们以专业的技术实力,打造各行业品牌网站。公司的服务宗旨是:"用诚心做好服务,用实力做好质量"!

联系我们

  • 地址: 上海市松卫北路295号陆国时代大厦911室
  • 电话: 021-37656315 13818750604
  • QQ咨询: 68409478
扫描二维码 关注我们官方微信 解决SEO建站问题
咨询电话

021-37656315

周一至周六9:00-18:00

售后服务

© 2017-2018  上海百橙网络技术有限公司  沪ICP备15052651号-1  沪公网安备 31011702002363号