目录
寻职网Search Job Web项目目标
使用爬虫实现一个类似于51job一样的找工作的网站,目标是爬取的职业范围比51job更广更全!关注专栏Java爬虫【寻职网项目实战】
第一阶段
- 实现爬虫入门demo,爬取网页
- 了解爬虫要解决的问题,爬虫的开发规范
- HttpClient的使用,包括Get和Post的区别和使用
- HttpClient的连接池的使用
- 使用Jsoup解析字符串、文件中的Html数据
- 使用dom方式查询解析Html
- 使用选择器查询解析Html
- 了解SKU和SPU的区别
- 手把手实战案例
第二阶段
- 理论与实战结合学习WebMagic
- 了解PageProcessor
- 能够使用选择器抽取页面元素
- 使用Spider启动爬虫
- 使用Site设置爬虫参数
- 使用过滤器对url去重
- 能够使用和定制Pipeline输出数据
第三阶段
- 使用定时任务,定时爬取网页内容
- 能够使用工具生成Cron表达式
- 网页去重
- 使用代理服务器,用代理IP爬取数据
- ElasticSearch服务安装和使用以及IK分词器
- 能够使用SpringData完成ElasticSearch的增删改查
- 爬取的数据使用MySQL存储并导入到索引库
- SpringBoot框架
- 寻职网项目实战(穿插于各个阶段,完成以上目标,那么你就有一个自己的实用的求职网站了)
- 爬虫高阶技术还有什么
效果展示
如果你对爬虫的了解很少或者你是一个小白,那么在进行项目之前你需要了解“爬虫”是什么
什么是爬虫?
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
爬虫的全名叫网络爬虫,简称爬虫。他还有其他的名字,比如网络机器人,网络蜘蛛等等。这个现象在计算机工程里很常见。
爬虫是什么呢?爬虫有简单的爬虫和复杂的爬虫。实际上简单的爬虫是一种脚本。脚本就是粗糙的,但往往非常实用的小程序(一般来说不会超过几千行,有时候也就几百几十行罢了)。比如,你想从CSDN记录某人的博客信息。你一条一条去手写肯定是不现实的。所以就要用爬虫。可以把一个信息类网站上几千条信息一次全部扒下来。然后用语其他功能类查询服务。
使用爬虫要注意什么
Robots协议(爬虫协议)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。该协议是国际互联网界通行的道德规范,虽然没有写入法律,但是每一个爬虫都应该遵守这项协议。robots协议
我为什么使用Java而不使用Python
PHP:PHP是世界是最好的语言,但他天生不是做这个的,而且对多线程、异步支持不是很好,并发处理能力弱。爬虫是工具性程序,对速度和效率要求比较高。
Java:生态圈很完善,是Python爬虫最大的竞争对手。但是Java语言本身很笨重,代码量很大。重构成本比较高,任何修改会导致代码大量改动。爬虫经常要修改采集代码。
C/C++:运行效率是无敌的。但是学习和开发成本高。写个小爬虫程序可能要大半天时间。
Python:语法优美、代码简洁、开发效率高、支持的模块多。相关的HTTP请求模块和HTML解析模块非常丰富。还有Scrapy和Scrapy-redis框架让我们开发爬虫变得异常简单。
因为我擅长的是Java,又不想花精力去学习Python,所以我使用Java语言来写爬虫,如果你也跟我一样,想玩一玩,就一起来吧!
最后,感兴趣的同学可以关注专栏Java爬虫【寻职网项目实战】