欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬蟲(chóng)數(shù)據(jù)保存到mongoDB的實(shí)例方法

 更新時(shí)間:2020年07月28日 14:19:47   作者:yang  
在本篇文章里小編給大家整理的是一篇關(guān)于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)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)XGBoost算法的應(yīng)用實(shí)戰(zhà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-08
  • python使用線程封裝的一個(gè)簡(jiǎn)單定時(shí)器類實(shí)例

    python使用線程封裝的一個(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)題

    今天小編就為大家分享一篇解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python正則表達(dá)式和re庫(kù)知識(shí)點(diǎn)總結(jié)

    Python正則表達(dá)式和re庫(kù)知識(shí)點(diǎn)總結(jié)

    在本篇文章中小編給大家分享了關(guān)于Python正則表達(dá)式和re庫(kù)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • Python更改pip鏡像源的方法示例

    Python更改pip鏡像源的方法示例

    這篇文章主要介紹了Python更改pip鏡像源的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python中文本和數(shù)字相等判斷方式

    Python中文本和數(shù)字相等判斷方式

    這篇文章主要介紹了Python中文本和數(shù)字相等判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 簡(jiǎn)單的Python動(dòng)態(tài)可視化神器,編程小白也能上手

    簡(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-10
  • Python3數(shù)字求和的實(shí)例

    Python3數(shù)字求和的實(shí)例

    在本篇文章中小編給大家整理了關(guān)于Python3 min()函數(shù)的一些用法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • selenium處理元素定位點(diǎn)擊無(wú)效問(wèn)題

    selenium處理元素定位點(diǎn)擊無(wú)效問(wèn)題

    這篇文章主要介紹了selenium處理元素定位點(diǎn)擊無(wú)效問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python實(shí)現(xiàn)的隨機(jī)森林算法與簡(jiǎn)單總結(jié)

    Python實(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

最新評(píng)論