python爬虫数据保存到mongoDB的实例方法
作者:yang 时间:2021-10-10 09:52:24
爬虫数据保存到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)
来源:https://www.py.cn/spider/guide/18441.html
标签:python,爬虫数据,mongoDB
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Pycharm 文件更改目录后,执行路径未更新的解决方法
2023-06-17 03:33:48
![](https://img.aspxhome.com/file/2023/6/60966_0s.jpg)
ORACLE应用经验(1)
2010-07-31 12:53:00
python连接mongodb操作数据示例(mongodb数据库配置类)
2023-05-01 17:21:17
ASP面向对象编程探讨及比较
2008-04-12 07:16:00
python利用urllib实现爬取京东网站商品图片的爬虫实例
2022-05-01 12:32:56
![](https://img.aspxhome.com/file/2023/7/69457_0s.jpg)
python数据结构链表之单向链表(实例讲解)
2021-01-17 12:51:19
![](https://img.aspxhome.com/file/2023/6/71546_0s.png)
《设计网事》前言
2009-07-15 17:19:00
二十八法优化SQL Server数据库查询
2010-07-02 20:56:00
Python多进程同步简单实现代码
2021-05-17 23:48:04
asp的分词技术
2007-08-25 17:50:00
《JavaScript语言精粹》
2009-04-03 11:27:00
sqlserver 中时间为空的处理小结
2011-11-03 17:16:17
php tpl模板引擎定义与使用示例
2023-11-14 22:04:49
土豆网前端概况
2008-01-24 12:06:00
![](https://img.aspxhome.com/file/UploadPic/20081/24/2008124121710861s.jpg)
轻松掌握 MySQL的数字类型以及建库策略
2008-11-27 16:09:00
在python 不同时区之间的差值与转换方法
2023-10-15 12:20:57
python字符串运算符详情
2023-11-19 20:51:31
![](https://img.aspxhome.com/file/2023/9/64609_0s.png)
Oracle数据安全面面观
2010-07-27 13:27:00
pytorch dataloader 取batch_size时候出现bug的解决方式
2023-08-12 01:27:45
Python下调用Linux的Shell命令的方法
2023-08-10 01:43:17