【Java】爬虫,数据持久化到MongoDB

前言

先上几盘菜尝尝:

  1. MongoDB是什么?【博客园】惨绿少年《MongoDB 入门篇》

  2. MongoDB怎么安装?【菜鸟教程】《Windows 平台安装 MongoDB》

  3. MongoDB快速上手?【CSDN】Xuych_《java连接mongoDB 并进行增删改查操作》

  4. MongoDB全部用法?【菜鸟教程】《MongoDB 教程》

再送你一个MongoDB可视化操作工具:

【百度网盘】

链接:https://pan.baidu.com/s/11yOnpUfXknOFSkN8-hXzCg
提取码:itt7

运行结果:


【Java】爬虫,数据持久化到MongoDB_第1张图片
运行结果

正文

根据前言中的第二篇文章装好MongoDB之后,可以看一下第3篇文章,快速上手一下。
然后看下面我的操作:
我们在源代码中添加一个工具类MongoDBUtil,供Main方法调用


【Java】爬虫,数据持久化到MongoDB_第2张图片
MongoDBUtil

昨天的源码中,只是单纯的在控制台打印评论,今天在Main类中加入两部分内容

第一部分是在一开始,添加两行代码

第一行:调用工具类中的建立数据库连接方法这时候会连接一个名为test的数据库,如果不存在就会创建。

第二行:通过数据库创建一个MongoCollection名为comment,相当于一个表。

MongoDB的名字与关系型数据库名字的对应关系如下:

名称 MongoDB 关系型数据库
数据库 MongoDatabase Database
MongoCollection table
行(记录) Document(org.bson.Document) row
【Java】爬虫,数据持久化到MongoDB_第3张图片
一开始

第二部分是在Main类的66行左右加一些代码:


【Java】爬虫,数据持久化到MongoDB_第4张图片
添加一些代码

然后就可以运行了。

运行结束后从百度网盘下载我在前言给的MongoDB可视化工具,新建连接,查看对应的数据库表即可。
链接:https://pan.baidu.com/s/11yOnpUfXknOFSkN8-hXzCg
提取码:itt7

最后

中途我遇到了一个Bug,在此记录:

MongoDB的insertMany(List)函数不允许插入一条空的list。然而我们知道,一篇新闻,在刚刚发布的时候,是没有评论的,所以会造成和MongoDB设计冲突。我也是查了StackOverflow才知道这个Bug

Mongodb 3.0 “writes is not an empty list” error

解决方法我已经在源码中体现了,就是先判断一下list是否为空,不为空则插入,否则跳过这篇文章,去拿下一篇文章的评论。

源码GitHub地址

也可以直接
下载源码zip压缩包

你可能感兴趣的:(【Java】爬虫,数据持久化到MongoDB)