Python项目管理利器poetry我愿称之为神!

MongoDB是一种流行的NoSQL数据库,它以灵活的文档结构存储数据。MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:

https://www.mongodb.com/try/download/community-kubernetes-operator

图片

图片

根据上图所示下载 zip 包。

提示:版本的选择:

MongoDB的版本命名规范如:x.y.z;

y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13;

y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10;

z是修正版本号,数字越大越好。

将压缩包解压到一个目录中。

在解压目录中,手动建立一个目录用于存放数据文件,如 data/db

图片

图片

在 bin 目录中打开命令行提示符,输入如下命令:

mongod --dbpath=..\data\db

图片

图片

我们在启动信息中可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过--port来指定端口。为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin 目录下是一些常用命令,比如 mongod 启动服务用的,mongo 客户端连接服务用的。

在上一个cmd窗口不关的基础上,再次打开一个新的命令窗口输入mongo连接数据库

图片

查看已经有的数据库

show dbs

图片

选择和创建数据库的语法格式如下,如果数据库不存在则自动创建,例如,以下语句创建text 数据库:

use 数据库名称
use text

图片

注意!!!创建之后查询,会发现并没有看到我们刚刚新建的数据库,这是因为在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

查看当前正在使用的数据库命令

db

图片

创建一个名为 douban的普通集合。

db.createCollection("douban")

图片

本文主要是为了演示如何使用MongoDB存储数据,就简单的豆瓣一下吧。

import requests
import re
import random
import json
from pymongo import MongoClient
import time# 连接MongoDB数据库
client = MongoClient('localhost', 27017)
databases = client.list_database_names()
print(1)# 选择douban数据库
db = client["text"]
collection = db["douban"]
print(collection)def user_agent_random():"""随机选择一个User-Agent字符串"""user_agent_list = ["Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)","Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)","Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)","Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)","Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)","Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0","Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20",]# 随机选择一个User-Agent字符串作为请求头headers = {'user-agent': random.choice(user_agent_list)}return headers# 使用随机选择的User-Agent发送请求
headers = user_agent_random()# 每次请求的URL
for num in range(0, 999, 20):url = f'https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={num}&limit=20'print(url)response = requests.get(url, headers=headers).textresponse = json.loads(response)# 将返回的数据插入到MongoDB中for data in response:info = {"title": data["title"],"rating": data["rating"][0],"types": data["types"],"regions": data["regions"],"release_date": data["release_date"],"actors": data["actors"],"url": data["url"]}collection.insert_one(info)print(info)# 随机等待一段时间result = random.randint(1, 5)time.sleep(result)

连接数据库,选择之前创建的douban集合

图片

info中为要存储的数据

图片

运行爬虫存储数据到数据库

图片

查询数据库中有无数据

图片

图片

也可以用图形化界面管理数据库

https://www.mongodb.com/try/download/shell

图片

我会努力将有用的东西分享给大家。您的点赞,在看和转发分享是对我最好的鼓励。如果有任何疑问随时留言公众号!

- End -

图片

ALL程序猿

关注我获得

更多精彩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】信号概念和信号的产生

文章目录 一、什么是信号?1.signal系统调用2.从硬件解析键盘数据如何输入给内核3.同步和异步 二、信号的产生1.键盘组合键2. kill命令3.系统调用接口3.1kill3.2 raise3.3abort 4.异常5.软件条件 重谈core dump标志位 一、什么是信号? 以日常为例&#x…

Echarts 扇形百分比算法(最大余额法)

主要用于计算一个数组中某个值占总和的百分比,并且保留指定的小数位数 function getPercentValue(arrList, index, precision) { // arrList要计算数据的数组 // index要计算数组中值的下表 // precision百分比保留几位小数,默认保留2位小数 // 判断是否…

Elasticsearch:么是向量嵌入?

向量嵌入定义 向量嵌入 (vector embeddings) 是一种将单词、句子和其他数据转换为捕获其含义和关系的数字的方法。 它们将不同的数据类型表示为多维空间中的点,其中相似的数据点更紧密地聚集在一起。 这些数字表示可以帮助机器更有效地理解和处理这些数据。 单词和…

VS安装QT VS Tools编译无法通过

场景: 项目拷贝到虚拟机内部后,配置好相关环境后无法编译,安装QT VS Tools后依旧无法编译,查找资料网上说的是QT工具版本不一致导致的,但反复试了几个版本后依旧无法编译通过。错误信息如下: C:\Users\Ad…

OpenTelemetry系列 - 第1篇 相关概念

目录 一、背景二、概念2.1 Traces & Span2.2 Metrics2.3 Logs2.4 Baggage2.5 OTel2.6 OTLP2.7 Resources2.8 Instrumentation Scope2.9 Sampling 三、核心组件 一、背景 OpenTelemetry是一个可观察性框架和工具包,旨在创建和管理遥测数据,如跟踪、指…

Monocle 3 | 太牛了!单细胞必学R包!~(五)(差异分析之聚类比较与模块鉴定)

1写在前面 准备出去玩耍了,今天就不废话了,直接上主题吧。🥳 monocle3做差异分析也是牛的一米!~🌾 2用到的包 rm(list ls())library(tidyverse)library(monocle3) 3示例数据 我们还是载入之前用过的一个数据集吧。&am…

Python 爬虫 一切都可爬,我爬我爬我还爬。你想要啥数据,来找我呀!

1. 什么是Python爬虫? Python爬虫是一种自动化程序,可以从互联网上获取信息并提取数据。通过模拟网页浏览器的行为,爬虫可以访问网页、抓取数据、解析内容,并将其保存到本地或用于进一步分析 2. 爬虫的合法性问题 使用Python爬虫…

Rust语言入门教程(十二) - 枚举类型Enums与模式匹配

枚举类型与模式匹配 欢迎使用并贡献我的开源webhook工具: https://github.com/owenchenxy/rusthook/什么是枚举类型 在Rust中, 枚举(Enums)类型更接近Haskell中的代数数据类型,而不是类似于C语言中的枚举类型。 定义一个枚举类型的步骤如下: 以enum关键字开头;后面紧接该…

HarmonyOs 4 (三) ArkTS语言

目录 一 认识ArkTs语言1.1 ArkTs1.2 基本结构 二 基本语法2.1 声明式UI2.1.1 创建组件2.1.1.1 无参数2.1.1.2 有参数2.1.1.3 组件样式2.1.1.4 组件方法2.1.1.5 组件嵌套 2.1.2 自定义组件2.1.2.1 基本结构2.1.2.2 成员函数/变量2.1.2.3 自定义组件的参数规定2.1.2.4 Build函数2…

高效转码工具Compressor for Mac,让视频处理更轻松

在现如今的数字时代,视频内容已经成为人们生活中不可或缺的一部分。无论是在社交媒体上分享生活点滴,还是在工作中制作专业的营销视频,我们都希望能够以高质量、高效率地处理和传输视频文件。而Compressor for Mac作为一款强大的视频转码工具…

vivado实现分析与收敛技巧6-策略建议

典型时序收敛策略需运行大量实现策略并选取其中最佳的策略以供在实验室内应用。 ML 策略同样可选 , 且只需您运行3 项策略即可达成类似的 QoR 收益。这些策略使用机器学习来检验布线后设计的各项功能特性 , 以便预测相同设计上不同策略的性能。在 repo…

C#获取字符串变量内存地址

在C#中,由于其设计原则,你不能直接获取字符串变量的内存地址。这是因为C#是一种安全的语言,不允许直接访问内存。这是为了预防程序员在处理内存时可能出现的错误,如越界访问,悬挂指针等。 但是,使用System.…

unity3d c#代码变更文本颜色,可选多参数,委托invoke延迟调用函数

[SerializeField] private Text warning; Color color ;warningOpen("注册成功", closeTime: 1.5f);warningOpen("登录成功", "green", 1.5f);public void warningOpen( string warn, string tmp"red", float closeTime5f ){warnin…

常用装备生产ERP有哪几种?有哪些作用

装备生产业务涉及原材料采购、车间排产、班组生产评估、派工单、接单报价、委外发料、库存盘点、设备台账、图纸设计等诸多环节,而各环节数据的共享问题普遍存在于装备生产企业内部,同时也直接影响企业的生产效率和整体效益等。 企业外部环境的变化和行…

【JavaScript手撕代码】防抖节流

防抖节流设计到的知识点很多,有闭包有修改this指向,应当作为重点记忆 防抖节流 防抖 防抖是指,短时间频繁触发fn,只执行最后一次,这样可以有效提高性能,减少服务器压力 也可以这样表述:函数…

Arduino驱动MCP9808数字温湿度传感器(温湿度传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 <

探索意义的深度:自然语言处理中的语义相似性

一、说明 语义相似度&#xff0c;反应出计算机对相同内容&#xff0c;不同表达的识别能力。因而识别范围至少是个句子&#xff0c;最大范围就是文章&#xff0c;其研究方法有所区别。本文将按照目前高手的研究成绩&#xff0c;作为谈资介绍给诸位。 二、语义相似度简介 自然语言…

特种电源模块怎么测试?用电源模块测试系统测试需要哪些流程?

什么是特种电源? 特种电源即特殊种类的电源&#xff0c;是能够为各种特殊场合或应用提供稳定、可靠电力的电源设备。特种电源的特殊性主要体现在输出电压特别高&#xff0c;输出电流特别大&#xff0c;对稳定度、动态响应及纹波要求特别高等。 根据应用场景和功能&#xff0c;…

c语言编程题经典100例——(56~60例)

1&#xff0c;实现链表中节点的比较。 在C语言中&#xff0c;链表是一种常见的数据结构&#xff0c;用于存储一系列的数据元素。每个节点包含数据和指向下一个节点的指针。比较两个链表节点的操作取决于具体需求。如果想比较两个节点中的数据&#xff0c;可以写一个函数来实现这…

什么是Anaconda

Anaconda的安装也很方便。打开这个网站Anaconda下载&#xff0c;然后安装即可。 Anaconda可以帮助我们解决团队之间合作的包依赖管理问题。在没有使用Anaconda之前&#xff0c;如果你的Python程序想让你的同事运行&#xff0c;那么你的同事可能会遇到很多包依赖问题&#xff0…