【Java】爬蟲,數據持久化到MongoDB

midnight_time 2022-01-08 07:33:56 阅读数:20

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

運行結果:
運行結果

正文

根據前言中的第二篇文章裝好MongoDB之後,可以看一下第3篇文章,快速上手一下。
然後看下面我的操作:
我們在源代碼中添加一個工具類MongoDBUtil,供Main方法調用
MongoDBUtil
昨天的源碼中,只是單純的在控制臺打印評論,今天在Main類中加入兩部分內容

第一部分是在一開始,添加兩行代碼

第一行:調用工具類中的建立數據庫連接方法這時候會連接一個名為test的數據庫,如果不存在就會創建。

第二行:通過數據庫創建一個MongoCollection名為comment,相當於一個錶。

MongoDB的名字與關系型數據庫名字的對應關系如下:

名稱 MongoDB 關系型數據庫
數據庫 MongoDatabase Database
MongoCollection table
行(記錄) Document(org.bson.Document) row

一開始

第二部分是在Main類的66行左右加一些代碼:
添加一些代碼

然後就可以運行了。

運行結束後從百度網盤下載我在前言給的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壓縮包

這兩篇博客寫的略微有點著急,欲知詳情,請看下回分析。

版权声明:本文为[midnight_time]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080733563825.html