简单介绍
下载安装
使用介绍
一、1.MongoDB是一款强大、灵活、且易于扩展的通用型数据库
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2.特点
易用性
易扩展性
功能丰富
性能好
3.基础介绍
二、下载MongoDB请参考以下地址
windows版本
链接: https://www.mongodb.com/download-center/community.
1、安装路径为D:\MongoDB,将D:\MongoDB\bin目录加入环境变量
2、新建目录与文件
D:\MongoDB\data\db
D:\MongoDB\log\mongod.log
3、启动\关闭
net start MongoDB
net stop MongoDB
三、
1.点击箭头处
2.点击此处调整可查看数据量
3.代码创建表格
# 创建连接
conn = pymongo.MongoClient('localhost', 27017)
# 选择或创建数据库,如果有就选择数据库,没有就重新创建
db = conn.LNZB
# 选择或创建表,如果有就选择表,没有就重新创建表
table = db.lnzbtable
4.勾选下拉框,可进行对数据格式的查看
(Tree)(Table) (JSON)
对数据进行分条查看
5.案例:
# 请求
import requests
# xpath
from lxml import etree
# 数据库
import pymongo
# 进度条
from tqdm import tqdm
# 请求路由
base_url = 'http://www.lnzxzb.cn/gcjyxx/004001/subpage.html'
# 创建连接
conn = pymongo.MongoClient('localhost', 27017)
# 选择或创建数据库,如果有就选择数据库,没有就重新创建
db = conn.LNZB
# 选择或创建表,如果有就选择表,没有就重新创建表
table = db.lnzbtable
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4385.0 Safari/537.36'
}
# 初始化
html = requests.get(url=base_url, headers=headers)
# 转码
content_html = html.content.decode('utf-8')
tree = etree.HTML(content_html)
z = tree.xpath('//*[@id="showList"]/li/p[@class="ewb-com-block"]')
data_list = []
for zb in z:
dict_html = {}
dict_html['class_html'] = zb.xpath('.//a/font[1]/text()')[0]
dict_html['localtion_html'] = zb.xpath('.//a/font[2]/text()')[0]
dict_html['title_html'] = zb.xpath('.//a/text()')[0]
dict_html['time_html'] = zb.xpath('//span[@class="r"]/text()')[0]
data_list.append(dict_html)
for page in tqdm(range(2, 101)):
# 格式化
base_url_page = 'http://www.lnzxzb.cn/gcjyxx/004001/%s.html' % page
tree1 = etree.HTML(content_html)
z1 = tree1.xpath('//*[@id="showList"]/li/p[@class="ewb-com-block"]')
for zb1 in z1:
dict_html1 = {}
dict_html1['class_html'] = zb1.xpath('.//a/font[1]/text()')[0]
dict_html1['localtion_html'] = zb1.xpath('.//a/font[2]/text()')[0]
dict_html1['title_html'] = zb1.xpath('.//a/text()')[0]
dict_html1['time_html'] = zb1.xpath('//span[@class="r"]/text()')[0]
data_list.append(dict_html1)
# 获取多条数据
table.insert_many(data_list)
注:案例随机编写,不唯一