本人在学习 Spring 的时候学习搭建一个后台,我这里拿来练手的是一个新闻的后台,主要的功能包括抓取新闻信息,保存在数据库中,并根据请求返回相应数据。
这里我选取的新闻来源是一点资讯(主要是他的API比较容易获取),抓取和解析选取Jsoup+Gson.运行采取Schedul 定时运行爬虫脚本。
首先利用浏览器F12获取到要闻栏目的请求API:
http://www.yidianzixun.com/home/q/news_list_for_channel?channel_id=hot&cstart=9&cend=19&infinite=true&refresh=1&multi=5&appid=web_yidian&=1495540870731
通过分析可以知道其中关于分页的主要参数是 cstart , cend , 参数 _ ,cstart表示起始下表,cend 表示结束下标,_不清楚意义,但是每次请求+1,那么改变这几个参数我们就能进行不停的请求数据了。当然不要忘记了取出浏览器中得Head和 Cookie 参数。
首先是爬虫爬取数据,并将其转换成 Bean 对象:
发现一次爬取成功,那么,我们就可以通过定时任务来定时执行,修改翻页参数,爬取数据:
编译运行,打印信息发现按照我们的预期执行了:
接下来再看下数据库,发现里面也有数据了:
项目上传在GitHub上 : GitHub地址