骑猪看日出 发表于 2017-12-4 17:19

【原创】完整的小说站点爬虫-spring-mybatis-jsoup-http-client


更新百度云盘下载地址:https://pan.baidu.com/s/1slMWFxV



项目初衷:
前段时间迷上了辰东大大的完美世界,所以开始用微信读书来看,可惜太贵啦,后来只能去百度搜索了。
可是wap端的小说站点简直太没节操了,那些广告真是undefined
实在是不堪忍受。所以想做一个没有任何广告的自己的小说站点(果然,做出的站点也够简单的!)。
然后就付诸实践了!
==========================================
闲话少说,介绍一下如何运行这(几)个项目:
第一个项目:novel.spider(姑且叫他为spider吧:lol)-jsoup,http-client
提供了三个最为底层的方法:
ChapterFactory.getChapterSpider(NovelSiteEnum novelSiteEnum).getChapters(NovelSpiderUtil.getRelativeUrl(NovelSiteEnum novelSiteEnum, url))获取一个爬取对应网站的章节的实体,并执行爬取任务
ContentFactory.getContentSpider(NovelSiteEnum novelSiteEnum).getContent(NovelSpiderUtil.getRelativeUrl(NovelSiteEnum novelSiteEnum,url)) 获取一个爬取对应网站的内容的实体,并执行爬取任务
NovelDownloaderObserver observer = new NovelDownloaderObserver(url) 下载小说...

这三个都依赖于一个方法:NovelSpiderUtil.setRootPath(path) 该方法用来指定爬取规则的配置文件存放的路径,以及下载的小说存放在哪个文件夹下
该项目下有个测试类,可以参考一下使用方式:NovelSpiderTest.java

第二个项目:novel.book.storage(用来爬取某个网站的所有书列表)-mybatis
唯一的难点就是指定好配置文件,以及配置好数据库的连接信息。config目录下还有一个sql文件,该文件用来创建数据库和表,没有库爬到的数据没地方存呀。
这个项目很简单,总共2个类+1个接口,就不细说了!


第三个项目:novel (这是一个web站点)-spring,mybatis
稍微重要点的类是NovelController和NovelServiceImpl(写这个实现类的是才发现之前给自己挖的坑有多么的深,所以在spider项目里面多了一个抽象...)

稍微要注意的是,NovelServiceImpl中也调用了NovelSpiderUtil.setRootPath(path)方法来指定配置文件的位置。

下载地址(已更新):
novel.spider : http://share.weiyun.com/40b6bfbb2fe13cce449756901961e99a
novel.book.storage http://share.weiyun.com/b1a8e1ab18c5ba03221583365723cb47
novel站点 http://share.weiyun.com/2d8afb9436feb5ef84cc8830632809cf

一个依赖的简单工具jar包、(已更新)
http://share.weiyun.com/b3dc4bba20896e87e864712f241f7edd

好多人都不太懂,我再解释一下:这三个组合在一起是完整的项目。
1.项目1发布的jar包是底层的支撑
2.项目2用于爬取某站点的所有小说
3.项目3是一个web站点,用来提供书名和作者的检索,拿到检索结果后去调用项目1的方法去拿章节列表,或者是章节内容,将这些返回到前台。


项目如何运行:
1.导入novel.spider
2.调用NovelSpiderUtil.setRootPath()方法将配置文件所在的文件夹告诉他,配置文件在项目的config文件中有一份,就可以调用NovelSpiderTest类来调教他了
3.导入novel.book.storage
4.配置数据库地址
5.config目录下有sql文件,创建数据库和表
6.跑BxwxBookStorage来生成数据库中的内容
7.导入novel项目
8.配置数据地址(和步骤4配置的一样)
9.在NovelServiceImpl的static静态块中配置配置文件,看步骤2
10.用Tomcat跑起来,就可以访问了


论坛应该是不允许放地址的,我的站点目前正在运行,是可以用的噢


yinfeifei 发表于 2017-12-5 18:26

用心讨论,共获提升!

BKrJSNCZ 发表于 2017-12-13 20:08

你很6666666

guaigege 发表于 2017-12-13 20:12

谢谢@Thanks!

cuo.cuo358 发表于 2018-1-6 17:56

萌新继续学习,争取早日上榜~

暗里着迷、 发表于 2018-1-6 21:31


支持软件之家,你们辛苦了

璀璨星辰 发表于 2018-1-7 03:04

哥辛苦了!

q30213313 发表于 2018-1-11 16:35

我的一楼总是献给度娘

jackol007 发表于 2018-1-14 10:41

不求风骚惊天下,但求猥琐动世人!

alone 发表于 2018-1-15 13:51

:lol:lol:lol:lol
页: [1]
查看完整版本: 【原创】完整的小说站点爬虫-spring-mybatis-jsoup-http-client