java爬虫底层网络请求_【原创】完整的小说站点爬虫-spring-mybatis-jsoup-http-client...

本帖最后由 昕悦阁丶风雪 于 2016-10-27 21:07 编辑

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

首先截个图:

55fd2b2273b5a8b4531f72773c469d6e.gif

1.png (14.8 KB, 下载次数: 25)

2016-10-4 18:37 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

2.png (16.55 KB, 下载次数: 22)

2016-10-4 18:37 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

3.png (29.38 KB, 下载次数: 16)

2016-10-4 18:37 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

4.png (27.68 KB, 下载次数: 13)

2016-10-4 18:37 上传

项目初衷:

前段时间迷上了辰东大大的完美世界,所以开始用微信读书来看,可惜太贵啦,后来只能去百度搜索了。

可是wap端的小说站点简直太没节操了,那些广告真是

faa8ceaf2263054261148d6e9cd10965.gif

实在是不堪忍受。所以想做一个没有任何广告的自己的小说站点(果然,做出的站点也够简单的!)。

然后就付诸实践了!

==========================================

闲话少说,介绍一下如何运行这(几)个项目:

第一个项目:novel.spider(姑且叫他为spider吧

66b6174fd73e11ef4819a09dabb237c2.png)-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跑起来,就可以访问了

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

现在为这个项目开始录制一个视频:用Java做一个自己的小说网站-后续课程在此更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值