补充基础知识
爬虫,毋庸置疑就是爬去互联网的网页,理论上,只要是互联网中存在的web页面,都可以爬取。用来做数据采集非常合适,尤其是现在大数据领域,爬虫必不可少。
爬虫种类有很多,了解概念可以参考百度百科
这里采用Java语言做爬虫,没有什么特别的原因,第一我用Java多,第二Java效率也挺好,第三我们的很多项目都Java的,做互相集成非常方便。当然pyhton的很多爬虫也很优秀。
爬虫框架:
java的爬虫也很多,我选了一个简单易用,方便扩展,完全开源的爬虫为基础来修改 。
壁虎:https://github.com/xtuhcy/gecco
爬虫原理
爬虫无非就是模拟浏览器和一些人们操作浏览器的动作,自动的访问网站,下载网页,然后抽取有用的网页内容,当采集的数据量达到一定数量级时,便会产生非常壮观或有价值的效果。麻烦的地方就在于很多网站有登陆、验证码、ajax、js等等技术防止你进行数据爬取。
使用爬虫基础要求:
1.了解网络基础,了解从浏览器输入网址到看到数据经历了什么,整个过程是什么。
2.可以分析web网页,可以抓包。开发过网页前端的具有css基础的即可。
3.Java语言
4.常用的一些Java框架,Spring,HttpClient,FastJson,HtmlUnit等等
5.一般一个2-3年经验的开发者,可以几个小时就能上手一个爬虫,熟练几天便可使用的游刃有余。
废话不多说,开始
分析Gecco框架,并简单改进
从今天开始,准备做一个爬虫,最简单的方式,找一个合适的开源的项目为基础,进行修改。我选了Gecco。
代码: https://github.com/xtuhcy/gecco
文档:http://www.geccocrawler.com/
先跑起来
maven引入
<!-- https://mvnrepository.com/artifact/com.geccocrawler/gecco -->
<dependency>
<groupId>com.geccocrawler</groupId>
<artifactId>gecco</artifactId>
<version>1.3.0</version>
</dependency>