一、java开发

(1) 应用开发,即Java SE开发,不属于java的优势所在,所以市场占有率很低,前途也不被看好。

(2) web开发,即Java Web开发,主要是基于自有或第三方成熟框架的系统开发,如ssh、springMvc、springside、nutz、,面向各自不同的领域,像OA、金融、教育等有非常成熟案例,这是目前最大的市场所在,故人称“java为web而生”。但目前看它的缺点入门不高,所以待遇相对中等,上升空间很有限且缓慢。

(3)移动开发(Android),是目前的大趋势,但移动端往往只能充当客户端的角色,其技术的难度与复杂度要相对弱很多,因为一时的火热其技术市价被高抬,但长久看来其发展空间有限,但比pc web端开发要增快一些。

二、网络爬虫

也叫spider,始于也发展于百度、谷歌。但随者近几年大数据的兴起,爬虫应用被提升到前所未有的高度。就大数据而言,其实自有数据或用户产生数据平台很有限,只有像电商、微博类这样的平台才能免强自给自足,像很多数据分析挖掘公司多以网络爬虫的方式得到不同来元的数据集合,最后为其所用,构建属于自己的大数据综合平台。其中,像舆情类、金融股票分析类、广告数据挖掘类等属于此种。 下面技术层面描述之。

(1) 传统爬虫,像nutch、hetriex之类的,以爬取简单页面为好,即没有复杂请求的页面。但随着web2.0的兴起,越来越多的网站采用很多动态交互技术如ajax之类的来提升用户体验、需用户登陆才可访问的页面等,它们就无能为力了,或者说需要二次开发的开发成本太高,很多人放弃用它们。

(2) 定制爬虫,针对一些大数据平台,如微博、电商、点评网之类的,页面交互复杂、用户登陆后方可访问,往往是需要自定义定制开发一些爬虫项目,如专门针对微博的微博爬虫,针对大众点评网的定制爬虫,针对豆辩书评的评论爬虫,都属于典型的定制爬虫,其难度要大于传统爬虫,需要相应的定制分析工具与能力,并且要具备很扎实的程序设计功底,优化效率,克服验证码、拒绝服务等反爬措施,方可做出高效的该类爬虫。现在主流依然是基于httpclient+jsoup来搞定网络下载与页面解析。

(3) 新型爬虫,结合一些成熟的第三方工具,如c/c++实现的webkit、htmlunit、phantomjs、casper等工具,其共同点即最大限度的去模拟人为操作浏览器的方式去解决用(1)、(2)所不易解决的问题,如模拟登陆、复杂参数的获取、复杂页面交互等问题。往往采用如上的工具可以轻松搞定这些问题,其最大的缺点是由于基于真实浏览器的操作,故效率比较低,所以往往需要和httpclient相结合,才能达到高效实用的目的。基于phantomjs做的百度元搜索抓取也证明了这一点,下一步可以结合它去完成微博类爬虫的模拟登陆获取cookies部分,之后采用httpclient+jsoup解决海量数据的抓取,是非常好的微博爬虫解决方案。

因为其需要的知识面相对要较多,故其待遇要高于web开发,且上升幅度与速度都远高于web开发。

三、自然语言处理

即NLP,nature language process的简称,它也是很多其它名称的简称,很多人在此有误解。其主要包括典型的三部分,分词、词性标注、句法分析。

(1)分词:主流的包括开源的ansj分词、ICTCLAS、哈工大的ltp、海量分词、fudan分词等,在借鉴ansj分词的基础上我也重构并开发了天亮分词,并已加入ansj主持的中国自然语言处理开源组织nlpchina的https://github.com/NLPchina/中。

(2)词性标注:以前较主流的标注体系是ICTCLAS和北大标注体系,现在有出现了如哈工大ltp平台、大连理工自然语方处理实验室的标注体系,大同小异。

(3)句法分析:这块相对前两者较难一些,目前国内我知道的是哈工大的ltp做的中文句法分析不错,像stanford的parser对英文句法还可以接受,但对中文句法分析就比较多。

因为这一领域相对比较专,难度和工作量也较大,但由于开源分词比较多且实用性不错,所以专门搞这块的人员往往都在大公司或比较牛的个人,当然待遇比上述一二也要高。

四、数据挖掘

  即datamining,这是现在的大趋势,它往往是基于nlp为基础的,再结合一些典型的数据挖掘算法,像分类、聚类、神经网络相关等算法,从而达到数据挖掘应用开发与产品的目
(1)自行研发相关挖掘算法:也就是在一定数学和计算机基础之上,做一些自主研发相关算法与调优,难度比较大,往往是一些牛人或算法研发工程师去搞。

(2) 引用第三方开源组件,像weka、mahout、libSvm等都提供了很多封装好的各种不同数据挖掘算法的组件,供上层开发人员直接调用,只要学习好其API,并按说明input、output就可以。

五、四者之间的关系

javaweb开发方面可以说是一个门户,可以让用户更好、更直接的了解后台的东西。

网络爬虫,是大数据获取的途径,为nlp、datamining做准备。

nlp,是衔接网络spider的数据和datamining的中间件。

datamining,是终极目标,也是得以变现的核心所在。

这四者是一个顺序承接的关系,若能四者皆具,则谓之大才。

写的比较随意,不当之处欢迎交流。

Java开发、网络爬虫、自然语言处理、数据挖掘简介相关推荐

  1. 开发网络爬虫应该怎样选择爬虫框架?

    2019独角兽企业重金招聘Python工程师标准>>> 有些人问,开发网络爬虫应该选择Nutch.Crawler4j.WebMagic.scrapy.WebCollector还是其他 ...

  2. java 网络爬虫_如何用Java实现网络爬虫

    原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...

  3. java jsoup 网络爬虫 jsoup解析html Java爬虫 Jsoup爬虫 jsoup例子

    java jsoup 网络爬虫 java jsoup 网络爬虫 学习例子(一)抓取豆瓣电影名称+推荐星级 java jsoup 网络爬虫 学习例子(二)只抓取豆瓣电影5星(力荐)电影名称 java j ...

  4. 用java实现网络爬虫,实时获取中国地震台网数据

    用java实现网络爬虫,实时获取中国地震台网数据 1.如何从网络中爬取相关数据 2.怎么进行数据处理 3.绘图设计 4. 存在问题: 5.java程序的源文件 5.1 爬虫程序 5.2 绘制柱状图程序 ...

  5. 基于Java的网络爬虫实现抓取网络小说(一)

    基于Java的网络爬虫实现抓取网络小说(一) 今天开始写点东西,一方面加深印象一方面再学习. 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用 ...

  6. java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS

    java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS /** filename getHtml.js* phantomjs.exe 2.0.0* author InJa ...

  7. Java实现网络爬虫:爬取京东商品案例

    Java实现网络爬虫 爬取京东商品案例 需求分析 代码实现 爬取京东商品案例 需求分析 一.需求 抓取京东商城的数据,把商品数据保存到数据库. 二.功能分析 使用HttpClient发送一个get请求 ...

  8. java网络爬虫论文_毕业设计(论文)-基于JAVA的网络爬虫的设计与实现.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 毕业设计(论文)-基于JAVA的网络爬虫的设计与实现. ...

  9. java jsoup 网络爬虫 学习例子(六)京东和当当商品比价

    java jsoup 网络爬虫 学习例子(六)京东和当当商品比价 package com.iteye.injavawetrust.jdvsdd;import java.util.List;/*** * ...

  10. java jsoup 网络爬虫 学习例子(七)京东和淘宝商品比价 htmlunit

    java jsoup 网络爬虫 学习例子(七)京东和淘宝商品比价 htmlunit package com.iteye.injavawetrust.pricecheck;import java.uti ...

最新文章

  1. 价值为王,市场需要降温
  2. 报错: MLPClassifier:ConvergenceWarning: Stochastic Optimizer: Maximum iterations (400) reached
  3. Ant之build.xml详解
  4. [转载]github在线更改mysql表结构工具gh-ost
  5. 【VRP】基于matlab蚁群算法求解多中心的车辆路径规划问题【含Matlab源码 111期】
  6. mysql更新数据的语句怎么写_mysql更新数据库语句怎么写?mysql更新字段语句
  7. Exchange2010删除指定账户指定主题邮件
  8. 巴斯勒相机的相机控制类析构函数多次调用的问题
  9. 分布式系统与海量数据处理
  10. 计算机笔记--【JVM】
  11. linux小白家教学一
  12. 1、解读中台 -- 什么是中台
  13. Windows要求已数字签名的驱动程序
  14. ES集群状态一直yellow状态引发的思考
  15. 高绩效团队-VUCA时代的五个管理策略《一》—全书回顾
  16. 华为鸿蒙 OS 2.0 系统流畅度实测:差距到底多大?
  17. 【企业微信实现免密登录以及发送消息(企业内部应用)】
  18. java unpark_Java多线程学习:(wait,notify)--(await,signal)--(park,unpark)
  19. 框架:什么是框架?为什么要使用框架?框架有什么作用
  20. 百度地图搜索、标注地图示例

热门文章

  1. SQL 错误: ORA-12910
  2. 安徽理工大学大学计算机科学与技术学院,安徽理工大学计算机科学与工程学院介绍...
  3. css中绝对定位与相对定位的区别
  4. ocRuntime基本功
  5. 整合Solr到Tomcat服务器,并配置IK分词
  6. uniapp 获取用户手机号
  7. Java入门学习路线目录索引(持续更新中)
  8. Windows中安装Electron说明
  9. .Net中Cookie乱码解决方法
  10. Sql查询出数据表中所有重复的数据