不同平台的博客,数据解析方式不一样,数据抓取和存储都是类似的。
1.确定博客首页地址
a.平台地址
比如,CSDN的博客地址是 http://blog.csdn.net/
b.账号
fansunion
CSDN某个用户的地址是:http://blog.csdn.net/FansUnion
2. 从首页获得关键信息
2.1获得博客分类列表
新人毕业-老人跳槽(24)
OpenJDK源码研究笔记(16)
性能优化(11)
中国象棋(13)
List<String> 存储所有的文章分类,保存到数据库中
addArticleCategory(Integer userId,List<String> categoryList);
创建所有的日志分类(id自增,name)
2.2确定日志的页数
CSDN的"431条数据 共9页"
获取到“9” pageCount
3.获取日志集合
3.1确定日志列表的地址
比如CSDN的日志格式是:http://blog.csdn.net/FansUnion/article/list/2
3.2遍历所有的文章列表
for(int index=0;index<pageCount;index++){
解析该页的日志地址,比如CSDN的格式是“ http://blog.csdn.net/fansunion/article/details/17070151”
}
所有的日志地址集合
List<String> articleList;
4.遍历所有的文章
for(int index=;index<articleList.size;index++){
抓取每1篇日志的字段数据,
Article:标题、内容、摘要、时间、性质(原创、转载、翻译)
保存到数据库中
addArticle(Article);
}
原文首发:http://fansunion.cn/article/detail/59.html
原文地址:http://blog.csdn.net/fansunion/article/details/41121137