springboot + webmagic + mybatis
1.以歌手页 http://music.163.com/discover/artist 为起始页,多层爬取,歌手信息页为最终爬取页
2.Site 设置setSleepTime(1000) ,线程设置为 5 (自定义),避免抓取过于频繁被封IP
重写process方法多层爬取,
自定义Pipeline,整合mybatis,将数据批量插入mysql
3.设计数据库表结构,各表设置唯一索引避免重复插入
####2017-11-22 更新
结果:
(1)成功抓取网易云歌手信息和音乐信息,可以按照歌曲名称或者歌手别名等进行查询
(2)数据库的每秒进行读写(I/O)操作的次数(ops) 达到30多次
(3)暂时未被封IP,setSleepTime 起到了作用
不足:
(1)暂未使用连接池druid (2)页面抓取信息中还包括专辑信息,还可以再做细化处理 (3)整理时为考虑抓取速度,数据库(主要是关系表)中会有部分无用数据的插入,需要在抓取结束后手动删除
后期:
尝试获取评论数据,对加密数据进行解密,对某个歌曲进行实时评论查询接口的编写
####2017-11-29更新
(1)加入连接池druid
(2)成功获取评论数据,用户歌单,歌单详情
(3)使用Jenkins自动部署, Jenkins安装 推荐下载war包部署在tomcat下,要确保服务器内存够用