python爬虫数据保存到mongoDB的实例方法


Posted in Python onJuly 28, 2020

爬虫数据保存到mongoDB的方法:

import pymongo

# 首先需要注意,mongodb数据库存储的类型是以键值对类型进行存储,所以在存储以前一定要进行数据筛选

def save_mongo(传入的数据):

# 创建连接 因为使用的为本机数据库,所以IP写localhost即可,端口号为27017


client = pymongo.MongoClient('localhost',27017)


# 连接数据库(这里注意一点,mongo数据库有一个优点,就是当自己连接的数据库和表都没有的时候,会自动创建,所以不用担心写错或者没有表)


db = client['自己创建数据库名']


# 连接表


collection = db['自己的表名(mongo中叫做集合)']


# 插入到数据库中(这里使用dict进行强制转换,是为了保证数据为字典格式)


collection.insert(dict(传入的数据))

mongoDB介绍:

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

*面向集合存储,易存储对象类型的数据。

*模式自由。

*支持动态查询。

*支持完全索引,包含内部对象。

*支持查询。

*支持复制和故障恢复。

*使用高效的二进制数据存储,包括大型对象(如视频等)。

*自动处理碎片,以支持云计算层次的扩展性。

*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

*文件存储格式为BSON(一种JSON的扩展)。

*可通过网络访问。

实例扩展:

# 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爬虫数据保存到mongoDB的实例方法的详细内容,更多关于爬虫数据如何保存到mongoDB的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python常用随机数与随机字符串方法实例
Apr 09 Python
用Python将动态GIF图片倒放播放的方法
Nov 02 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
python实现手机销售管理系统
Mar 19 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
python读文件的步骤
Oct 08 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
Python中 range | np.arange | np.linspace三者的区别
Mar 22 Python
Python3爬虫带上cookie的实例代码
Jul 28 #Python
python实现批处理文件
Jul 28 #Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
Jul 28 #Python
python爬虫请求头设置代码
Jul 28 #Python
详解python安装matplotlib库三种失败情况
Jul 28 #Python
最简单的matplotlib安装教程(小白)
Jul 28 #Python
Python 如何实现访问者模式
Jul 28 #Python
You might like
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
PHP 数据库树的遍历方法
2009/02/06 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
写自已的js类库需要的核心代码
2012/07/16 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
Python深入学习之上下文管理器
2014/08/31 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
python 读取.nii格式图像实例
2020/07/01 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
高中英语教学反思
2014/02/04 职场文书
水电维修专业推荐信
2014/09/06 职场文书
热血教师观后感
2015/06/10 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
中学语文教学反思
2016/02/16 职场文书
Python制作表白爱心合集
2022/01/22 Python
flex弹性布局详解
2022/03/20 HTML / CSS
Python学习之时间包使用教程详解
2022/03/21 Python