# web crawler_java爬虫工具 **Repository Path**: CatchLighting/webcrawler__java ## Basic Information - **Project Name**: web crawler_java爬虫工具 - **Description**: 一个java实现的爬虫工具,能够爬取CSDN的博客内容、评论内容、回复内容,能够爬取凤凰网的资讯等,基于springboot简单配置,经过简单的代码修改,即可以录入到自己的数据库中。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-04-26 - **Last Updated**: 2021-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # web crawler_java爬虫工具 ## 描述 一个java实现的爬虫工具,能够爬取CSDN的博客内容、评论内容、回复内容,能够爬取凤凰网的资讯等... 项目示例工程基于**springboot、mybatis-plus 也可以用mybatis或者原生jdbc构建连接数据库的环境 + jsoup包下的内容 + resources/static/sensi_words.txt完成爬取**。 经过简单的代码修改(jsoupUtil修改为对应自己操作数据库的mapper:mybatis or service:mybtis-plus),即可快速录入到自己的数据库中。 ## 环境 springBoot 2.3.2 mybtis-plus 3.1.0 maven idea自带默认 mysql 5.6.42 ## 技术栈 - springBoot: 简便配置连数据库的配置 - mybatis-plus: 逆向工程生成操作数据库的代码 - druid: 数据源 - jsoup: 爬虫工具 - lombok: 便捷的实体类方法生成工具 - commonmark: markdown转换 - emoji-java: 表情转换 - fastjson: json转换工具 - sensi: 脏字词,敏感字词处理 ## 项目演示 博客展示: ![gif](https://img-blog.csdnimg.cn/20200808170810507.gif#pic_center) 资讯展示: ![gif](https://images.gitee.com/uploads/images/2020/0808/172822_a705f4b1_7554668.gif) *若gif展示失败,可以在目录中查看爬取展示* ## 原理说明 静态页面:jsoup拿到document对象,然后解析document中存放的数据并进行适当的内容处理获得最终的数据,然后存放在实体类中并录入数据库 动态页面: 需要分析并找到其渲染数据的url,一般为xhr或者js请求,然后解析请求,获得的含有json内容,适当处理后转换为json对象,在取到有效信息存入实体类,最后放入自己的数据库。 ## 配置说明 1.需要构造自己pojo(bean),推荐使用示例中pojo中的实体类,若想用自己的实体类注意修改JsoupUtil中关于实体类set属性注入部分。mapper层,保证能够对数据库进行基本操作,推荐使用springboot+mybatis-plus的generator,简单配置,一键生成! 2.对JsoupUtil进行简单修改 __springboot+mybatis-plus项目:__ ![JsoupUtil](https://images.gitee.com/uploads/images/2020/0808/160347_1cf20b28_7554668.png) *不建议修改有红线的地方,避免修改下面调用类的命名。只需把类改为操作数据库的类即可* __非springboot+mybatis-plus项目:__ 除上述部分还需修改每个调用上面类方法的地方,共9处。 3.运行: __非springboot项目:__ ``` public static void main(String[] args) { new JsoupUtil( //传入你操作数据库的类组即可 ).getStart(); } ``` __springboot项目:__ 依赖于spring项目的一些配置,需要在test目录中运行test方法 ``` @SpringBootTest class WebcrawlerJavaApplicationTests { @Autowired private BlogService blogService; @Autowired private InformationService informationService; @Autowired private BlogCommentService blogCommentService; @Autowired private BlogCommentReplyService blogCommentReplyService; @Autowired private InformationCommentService informationCommentService; @Autowired private InformationCommentReplyService informationCommentReplyService; private static ThreadLocal startTime = new ThreadLocal(); @Test public void jsoup() { new JsoupUtil(blogService,informationService,blogCommentService,blogCommentReplyService,informationCommentService,informationCommentReplyService).getStart(); } } ``` 4.启动,操作,查看结果...... ## **最后说明** **本项目仅供学习使用!请尊重每位作者的付出!** 本项目仅能爬取CSDN博客页内容,凤凰网除视频的内容。若对上述网站需要更多数据的爬取,有能力者,自己增改JsoupUtil中解析document以及json解析中的数据获取部分;也可以联系qq: 1216770825 进行寻求帮助!关于项目搭建问题,同样联系 qq: 1216770825 寻求帮助!