Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

PyMongo模块的使用-MongoDB的Python接口

$
0
0

MongoDB 是近年来非常流行的开源 NoSQL 数据库,它使用JSON存储数据。

Ubuntu 16.04 安装 MongoDB

PyMongo是Mongo官方开发python模块,用来操作MongoDB数据库。

我做的一个爬虫用到了MongoDB。

PyMongo文档: https://api.mongodb.com/python/current/ 安装PyMongo $ pipinstallpymongo # 安装特定版本 # pip install pymongo==3.4.0

查看PyMongo版本:


PyMongo模块的使用-MongoDB的Python接口
建立连接

要想操作MongoDB数据库,首先先建立连接。

from pymongoimport MongoClient # client = MongoClient()# 不指定参数, 默认连接本地主机(localhost)和端口 (27017) client = MongoClient('localhost', 27017)# 指定要连接的主机和端口 # client = MongoClient('mongodb://localhost:27017') # 使用URI格式 访问数据库

连接到MongoDB之后就可以访问其中的数据库了。

# 两种访问方式 db = client['test_db']# 数据库如果不存在,会自动创建 #db = client.test_db 插入数据

“collection”是数据库中一组文档,如下面的taobao_items。

taobao_items = db.taobao_items items_desc = { 'item': '爬虫陆龟蜗牛蜘蛛垫材 椰砖椰土乌龟冬眠过冬保暖保湿无菌土包邮', 'price': 8.9, 'seller': '爱上未来的你55555' } result = taobao_items.insert_one(items_desc) print('插入的商品ID: {0}'.format(result.inserted_id)) items_desc = { 'item': '飘落的雪―蚂蚁阁‖ 原生收获蚁 2016年 新后 现货', 'price': 40.0, 'seller': 'singermedy' } result = taobao_items.insert_one(items_desc) print('插入的商品ID: {0}'.format(result.inserted_id))
PyMongo模块的使用-MongoDB的Python接口

insert_one()一次插入一条记录,如果要插入多条记录,它就比较慢了,可以使用insert_many()替代。

taobao_items = db.taobao_items items_desc1 = { 'item': '爬虫陆龟蜗牛蜘蛛垫材 椰砖椰土乌龟冬眠过冬保暖保湿无菌土包邮', 'price': 8.9, 'seller': '爱上未来的你55555' } items_desc2 = { 'item': '飘落的雪―蚂蚁阁‖ 原生收获蚁 2016年 新后 现货', 'price': 40.0, 'seller': 'singermedy' } # ... result = taobao_items.insert_many([items_desc1, items_desc2]) print('插入的商品ID: {0}'.format(result.inserted_ids)) 查询 taobao_items = db.taobao_items item = taobao_items.find_one({'seller': 'singermedy'}) print(item)
PyMongo模块的使用-MongoDB的Python接口

上面只查找一条记录,使用find查找所有匹配记录:

taobao_items = db.taobao_items # 查找singermedy卖的所有商品 items = taobao_items.find({'seller': 'singermedy'}) print(items) for itemin items: print(item)

我做的爬虫目前只使用到了这些最基本的操作;更多操作参看文档。

Share the post "PyMongo模块的使用-MongoDB的Python接口"

Google+ Weibo Email

Viewing all articles
Browse latest Browse all 9596

Trending Articles