啥语言都差不多,python也不见得时间效率上有多快,只是python一早被贯上爬虫的名头而已。。再说,大部分所谓的爬虫都是循环分翻页,解析数据的基本流程,哪个语言都能轻易完成。
1、如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大。当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。
2、如果是定向爬取,且主要目标是解析js动态生成的内容,页面内容是有js/ajax动态生成的,用普通的请求页面->解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。此时,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。
3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候,涉及诸多问题:I/O机制、分布式爬取、多线程并发、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。
PHP:对多线程、异步支持较差,不建议采用。
python有许多第三方包,有专用的框架,有大量开发者案例,小到单个简单网页抓取,大到分布式爬虫,python都能给你实现。
基本上什么语言都可以写爬虫,对比php,java,c#这几种语言,python只是语法简单,开发效率高。
python在这快的有优秀框架,相对来说不用关心底层的异常,只需要关注上层逻辑就可以了。所有的需要都可以来做爬虫,只是工作量的大小了
php也是可以做爬虫的,而且在网页展现上来说,比python还要方便!之所以用python做爬虫,很多时候还兼顾了一个问题,就是大数据处理!爬下来的数据还能顺便做分析。
另外就是,php属于服务器语言,单从环境的架设上来说,会比python复杂。虽然说现在很多一键搭建的软件可以快速的搭建php运行环境,但是在性能和维护上,我们并没办法把控。
而python就相对简单了许多,官方有相应的版本,完了还可以通过pip很容易的下载到各种需要的模块。再加上今年来python大火,各种各样的教程也层出不穷,各种功能的实现方法也被许多高手们分享出来。所以整个生态环境非常好,学习轻松,想实现的功能也很多例子。大大降低了开发成本。