MongoDB 是近年来非常流行的开源 NoSQL 数据库,它使用JSON存储数据。
Ubuntu 16.04 安装 MongoDBPyMongo是Mongo官方开发python模块,用来操作MongoDB数据库。
我做的一个爬虫用到了MongoDB。
PyMongo文档: https://api.mongodb.com/python/current/ 安装PyMongo $ pipinstallpymongo # 安装特定版本 # pip install pymongo==3.4.0查看PyMongo版本:

建立连接
要想操作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))
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)
上面只查找一条记录,使用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