python爬蟲(chóng)數(shù)據(jù)保存到mongoDB的實(shí)例方法
爬蟲(chóng)數(shù)據(jù)保存到mongoDB的方法:
import pymongo # 首先需要注意,mongodb數(shù)據(jù)庫(kù)存儲(chǔ)的類型是以鍵值對(duì)類型進(jìn)行存儲(chǔ),所以在存儲(chǔ)以前一定要進(jìn)行數(shù)據(jù)篩選 def save_mongo(傳入的數(shù)據(jù)): # 創(chuàng)建連接 因?yàn)槭褂玫臑楸緳C(jī)數(shù)據(jù)庫(kù),所以IP寫localhost即可,端口號(hào)為27017 client = pymongo.MongoClient('localhost',27017) # 連接數(shù)據(jù)庫(kù)(這里注意一點(diǎn),mongo數(shù)據(jù)庫(kù)有一個(gè)優(yōu)點(diǎn),就是當(dāng)自己連接的數(shù)據(jù)庫(kù)和表都沒(méi)有的時(shí)候,會(huì)自動(dòng)創(chuàng)建,所以不用擔(dān)心寫錯(cuò)或者沒(méi)有表) db = client['自己創(chuàng)建數(shù)據(jù)庫(kù)名'] # 連接表 collection = db['自己的表名(mongo中叫做集合)'] # 插入到數(shù)據(jù)庫(kù)中(這里使用dict進(jìn)行強(qiáng)制轉(zhuǎn)換,是為了保證數(shù)據(jù)為字典格式) collection.insert(dict(傳入的數(shù)據(jù)))
mongoDB介紹:
它的特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。主要功能特性有:
*面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類型的數(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)。
實(shí)例擴(kuò)展:
# coding=utf-8 import re import requests from lxml import etree import pymongo import sys reload(sys) sys.setdefaultencoding('utf-8') def getpages(url, total): nowpage = int(re.search('(\d+)', url, re.S).group(1)) urls = [] for i in range(nowpage, total + 1): link = re.sub('(\d+)', '%s' % i, url, re.S) urls.append(link) return urls def spider(url): html = requests.get(url) selector = etree.HTML(html.text) book_name = selector.xpath('//*[@id="container"]/ul/li//div/div[2]/a/text()') book_author = selector.xpath('//*[@id="container"]/ul/li//div/div[2]/div/a/text()') saveinfo(book_name, book_author) def saveinfo(book_name, book_author): connection = pymongo.MongoClient() BookDB = connection.BookDB BookTable = BookDB.books length = len(book_name) for i in range(0, length): books = {} books['name'] = str(book_name[i]).replace('\n','') books['author'] = str(book_author[i]).replace('\n','') BookTable.insert_one(books) if __name__ == '__main__': url = 'http://readfree.me/shuffle/?page=1' urls = getpages(url,3) for each in urls: spider(each)
以上就是python爬蟲(chóng)數(shù)據(jù)保存到mongoDB的實(shí)例方法的詳細(xì)內(nèi)容,更多關(guān)于爬蟲(chóng)數(shù)據(jù)如何保存到mongoDB的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- MongoDB安裝使用并實(shí)現(xiàn)Python操作數(shù)據(jù)庫(kù)
- 使用python向MongoDB插入時(shí)間字段的操作
- 如何用python 操作MongoDB數(shù)據(jù)庫(kù)
- 用Python實(shí)現(xiàn)定時(shí)備份Mongodb數(shù)據(jù)并上傳到FTP服務(wù)器
- python連接mongodb數(shù)據(jù)庫(kù)操作數(shù)據(jù)示例
- python爬蟲(chóng)用mongodb的理由
- Python MongoDB 插入數(shù)據(jù)時(shí)已存在則不執(zhí)行,不存在則插入的解決方法
- Python操作Mongodb數(shù)據(jù)庫(kù)的方法小結(jié)
- Python 操作 MongoDB 講解詳細(xì)
相關(guān)文章
Python實(shí)現(xiàn)XGBoost算法的應(yīng)用實(shí)戰(zhàn)
XGBoost(Extreme Gradient Boosting)是一種高效且廣泛使用的集成學(xué)習(xí)算法,它屬于梯度提升樹(shù)(GBDT)模型的一種改進(jìn),本文將結(jié)合實(shí)際案例,詳細(xì)介紹如何在Python中使用XGBoost算法進(jìn)行模型訓(xùn)練和預(yù)測(cè),需要的朋友可以參考下2024-08-08python使用線程封裝的一個(gè)簡(jiǎn)單定時(shí)器類實(shí)例
這篇文章主要介紹了python使用線程封裝的一個(gè)簡(jiǎn)單定時(shí)器類,實(shí)例分析了Python線程的使用及定時(shí)器類的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python正則表達(dá)式和re庫(kù)知識(shí)點(diǎn)總結(jié)
在本篇文章中小編給大家分享了關(guān)于Python正則表達(dá)式和re庫(kù)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2019-02-02簡(jiǎn)單的Python動(dòng)態(tài)可視化神器,編程小白也能上手
這篇文章就來(lái)介紹簡(jiǎn)單的Python動(dòng)態(tài)可視化神器,最近發(fā)現(xiàn)了一個(gè)寶藏動(dòng)態(tài)可視化庫(kù),非常簡(jiǎn)單,即使是小白也能輕松上手。這個(gè)庫(kù)就是motionchart,它能夠用 pandas 的 dataframe 數(shù)據(jù)直接創(chuàng)建交互式的動(dòng)態(tài)圖表,下面來(lái)簡(jiǎn)單看一下如何使用。2021-10-10selenium處理元素定位點(diǎn)擊無(wú)效問(wèn)題
這篇文章主要介紹了selenium處理元素定位點(diǎn)擊無(wú)效問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python實(shí)現(xiàn)的隨機(jī)森林算法與簡(jiǎn)單總結(jié)
這篇文章主要介紹了Python實(shí)現(xiàn)的隨機(jī)森林算法,結(jié)合實(shí)例形式詳細(xì)分析了隨機(jī)森林算法的概念、原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-01-01