最近在研究Java爬虫,小有收获,打算一边学一边跟大家分享下,在干货开始前想先跟大家啰嗦几句。
一、首先说下为什么要研究Java爬虫
Python已经火了很久了,它功能强大,其中很擅长的一个就是写爬虫程序。作为一名Javaer,想要写爬虫的话难道要学习python吗?
想到这个问题我去度娘了下,其实java也可以写爬虫,只是需要的代码行数要比python多。但是用java写就不需要专门为了爬虫再去学习一门新语言了,感觉省时省力省麻烦。刚好最近有点时间,就去专门研究了下。
二、Java爬虫要考虑的问题以及用到哪些技术和工具
爬虫需要考虑的问题有很多,但是对于我们入门级的来说主要有如下几个:
如何抓取页面数据,可以使用HttpClient或HtmlUnit
如何解析页面数据,可以使用Jsoup
如何反反爬虫,可以伪装浏览器和使用代理IP
如何url去重,可以建立一个队列用来记录已经爬取过的url,每次处理前先看下当前要处理的url是否在队列内
如何持久化数据,可以保存到数据库,也可以保存到文件中
接下来的文章将逐步分享这些内容。
三、优秀的开源Java爬虫
可以看下知乎上的这个内容
《GitHub 上有哪些优秀的 Java 爬虫项目》
https://www.zhihu.com/question/31427895
四、学习资料推荐
1.《自己动手写网络爬虫》罗刚 王振东 编著,应该是市面上唯一一个用Java写案例的爬虫书籍,时间比较久了,但是理论知识还是值得看的