想必大家都知道,在從事網(wǎng)絡(luò)爬蟲(chóng)工作之前,我們需要掌握很多知識(shí),除了基本的爬蟲(chóng)原理之外,我們還需要學(xué)習(xí)框架、數(shù)據(jù)庫(kù)等,其中就包含MongoDB。那么為什么Python爬蟲(chóng)使用MongoDB呢?我們一起來(lái)看看吧。
Python爬蟲(chóng)為什么使用MongoDB呢?
1.文檔結(jié)構(gòu)的存儲(chǔ)方式:簡(jiǎn)單講就是可以直接存Json、list;
2.不要事先定義表,隨時(shí)可以創(chuàng)建;
3.表中的數(shù)據(jù)長(zhǎng)度可以不一樣。
比如說(shuō):你的第一條記錄有10個(gè)值,第二條記錄就不要規(guī)定10個(gè)值了,對(duì)爬蟲(chóng)很亂的數(shù)據(jù)來(lái)講,這樣是非常適用的。
什么是MongoDB呢?
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫(xiě)。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類(lèi)似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類(lèi)型。Mongo最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類(lèi)似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類(lèi)似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。
MongoDB有什么功能呢?
它的特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便,主要功能特性有:
面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類(lèi)型的數(shù)據(jù);
模式自由、支持動(dòng)態(tài)查詢、支持完全索引,包含內(nèi)部對(duì)象;
支持查詢、支持復(fù)制和故障恢復(fù);
使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包含大型對(duì)象;
自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性;
支持GOlang、Ruby、Python、Java、C++、PHP、C#等多種語(yǔ)言;
支持存儲(chǔ)格式為BSON,一般json的擴(kuò)展;
可通過(guò)網(wǎng)絡(luò)訪問(wèn)。