爬虫 第三篇 (语言选择python还是java还是其他)

爬虫目前主要开发语言为java、python、c++
有些公司也用go语言(杭州某互联网金融公司)

对于一般的信息采集需要,各种语言差别不大。

  1. c、c++
    搜索引擎无一例外使用C\C++ 开发爬虫,猜想搜索引擎爬虫采集的网站数量巨大,对页面的解析要求不高,部分支持javascript

  2. python
    网络功能强大,模拟登陆、解析javascript,短处是网页解析
    python写起程序来真的很便捷,著名的python爬虫有scrapy等

  3. java
    java有很多解析器,对网页的解析支持很好,缺点是网络部分
    java开源爬虫非常多,著名的如 nutch 国内有webmagic
    java优秀的解析器有htmlparser、jsoup

对于一般性的需求无论java还是python都可以胜任。

如需要模拟登陆、对抗防采集选择python更方便些,如果需要处理复杂的网页,解析网页内容生成结构化数据或者对网页内容精细的解析则可以选择java。


2018年更新

—————————————————–

python流行起来,从某程序员聚集的网站来看 python爬虫教程满天飞。著名的scrapy便是python开发的。
python开发爬虫非常灵活,最适合一次性采集数据,写几行代码就可以把初步结构化的数据库入库。urllib、requests、beautifulsoup等模块可以轻松构建一个基本的采集程序。
使用python时会遇到中文乱码问题,window开发 Linux 部署乱码问题会让你感觉更棘手,最好统一开发部署环境,有钱公司用macbookpro,没钱装个ubuntu。

python遇到复杂的js是表现和java差不多,你都会想自己实现一个浏览器,phantomjs 不够稳定,中介再加上一层selenium 写写demo还可以

也有人用node.js 开发爬虫,自带V8 引擎,乍一看可以推平所有带js 的页面,node本身是为了js 实现后台来设计的,对于信息采集,node和python 和java 没有本质区别,js 引擎和浏览器引擎并不是一个东西,倒是有牛人用开源浏览器实现了一套浏览器采集程序,不过这牛人有时间折腾,一般公司招不到这种人,也没时间给你折腾,即便你折腾出来了,后续也没人接。

chrome的无头浏览器出来了,遇到复杂的js 页面可以少折腾。

最终使用哪种语言开发企业级采集应用,需要考虑多种因素。

主流的还是java和python,

java 比python繁琐,python比java招人难。

node适合做过前端的高手。

爬虫交流群:177655321

你可能感兴趣的:(爬虫,python,web,Crawler)