【Python爬虫与数据分析】爬虫常用标准库(时间、随机数)

news2024/11/24 15:39:40

目录

一、模块化概述

二、time库

1. 时间获取

2. 时间格式化

3. 程序计时

三、datetime库

1. datetime.datetime类

2. datetime.timedelta类

四、random库

1. 基本随机函数

2. 扩展随机函数

3. 随机时间的生成


一、模块化概述

Python程序由模块组成,一个模块对应一个 .py 源文件。

模块分为标准库模块自定义模块(第三方库),函数也分标准库函数和自定义函数。

Python标准库提供了操作系统、网络通信、文件处理、数学运算等基本功能。如:random(随机数)、math(数学运算)、time(时间处理)、file(文件处理)、os(和操作系统交互)、sys(和解释器交互)等。

模块化编程将一个任务分解成多个模块,简化开发过程、实现代码复用、增强可维护性。 

我们可以通过help(模块名)查看模块的API。一般使用时先导入模块然后通过help函数查看。
【示例】导入math 模块,并通过help()查看math 模块的API:

import math
help(math)

二、time库

time库是Python中处理时间的标准库。

time库常用函数

  • 时间获取:time()、ctime()、gmtime()
  • 时间格式化:strftime()、strptime()
  • 程序计时:sleep()、perf_counter()

1. 时间获取

  • time():获取当前的时间戳,返回浮点型
  • ctime():获取当前时间,返回字符串
  • gmtime():获取当前时间,返回struct_time结构体

2. 时间格式化

时间格式化将时间以特定的字符串格式展示出来,展示模板由特定的格式化控制符组成。

  • %Y:年份
  • %m:月份,%B:月份名称,%b:月份名称缩写
  • %d:日期
  • %A:星期,%a:星期简写
  • %H:24h制小时,%I:12h制小时
  • %M:分钟
  • %S:秒钟

strftime(tpl, ts):tpl是格式化模板字符串,用来定义输出效果。ts是tuple类型的计算机内部时间变量,即gmtime()输出的struct_time结构体。tpl是template的缩写。

strptime(timeStr, tpl):将一个时间字符串变成计算机内部可以操作的struct_time()。

3. 程序计时

sleep(s):休眠时间函数,参数s是浮点型的秒数,可以是小数。

perf_counter():返回一个精确的CPU级别的精确时间计数值,单位是秒。通过连续调用计算差值表示程序运行时间。

三、datetime库

datetime库用于处理日期和时间的功能。可以进行日期时间的转换、格式化输出、计算等操作。该库包含了多个类,如datetime、timedelta等,可以根据不同的需求进行选择。

  • datetime.datetime:日期和时间的表示
  • datetime.timedelta:计算时间间隔

1. datetime.datetime类

datetime.datetime类的使用方式:先创建一个时间对象,再通过对象的方法和属性显示时间。

  • datetime.datetime.now():获得当前的日期和时间对象
  • datetime.datetime.utcnow():获得当前的日期和时间对象对应的UTC(世界标准)时间对象
  • datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0):通过参数构造一个时间对象
  • dt_object.isoformat():按照 ISO 8601 标准显示时间
  • dt_object.strftime(tpl):按照格式化字符串控制显示时间
  • datetime.datetime.strptime(dt_str, tpl):按照标准格式将字符串转换为时间结构体变量

2. datetime.timedelta类

四、random库

random库是使用随机数的Python标准库。

1. 基本随机函数

  • send():初始化随机种子,使得随机数可复用
  • random():生成一个[0.0, 1.0]之间的随机小数

2. 扩展随机函数

  • randint(a, b):生成一个[a, b]之间的随机整数
  • getrandbits(k):生成一个k比特位长的随机整数
  • uniform(a, b):生成一个[a, b]之间的随机小数
  • choice(seq):从序列seq中随机选择一个元素
  • shuffle(seq):将序列seq的元素打乱随机排序

3. 随机时间的生成

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

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

相关文章

Redis数据结构 — SkipList

目录 跳表结构设计 跳表节点结构设计 跳表节点查询过程 跳表节点层数设置 为什么用跳表不用红黑树? 跳表平均指针数目为1/(1-p)公式推导 跳表的优势是能支持平均 O(logN) 复杂度的节点查找,支持进行高效的范围查询 SkipList(跳表&…

idea-控制台输出乱码问题

idea-控制台输出乱码问题 现象描述: 今天在进行IDEA开发WEB工程调式的时候控制台日志输出了乱码,如下截图 其实开发者大多都知道乱码是 编码不一致导致的,但是有时候就是不知到哪些地方不一致,今天我碰到的情况可能和你的不相同…

【C++】多态及原理

文章目录 1.多态的概念2.多态的定义及实现2.1多态的构成条件2.2虚函数的重写2.3析构函数的重写2.4 C11 override和 final2.5重载、重写(覆盖)、重定义(隐藏)的对比 3.抽象类3.1定义 4.多态的原理4.1虚函数表 虚表单继承的虚表多继承的虚表问答题 1.多态的概念 多态,…

(数组与矩阵) 剑指 Offer 03. 数组中重复的数字 ——【Leetcode每日一题】

❓ 剑指 Offer 03. 数组中重复的数字 难度:简单 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出…

新功能: 全新的UI视图、搜索设置和强大的API特性

我们在ftrack Studio中引入的一些超赞的新功能,旨在将用户体验提升到一个新的水平!准备好提高生产效率、优化任务流程,并获得有价值的见解,以便为你的所有项目做出数据驱动的决策。 本月,我们为ftrack Studio带来了几个…

PyLab绘制曲线图

PyLab 是一个面向 Matplotlib 的绘图库接口,其语法和 MATLAB 十分相近。它和 Pyplot 模快都够实现 Matplotlib 的绘图功能。PyLab 是一个单独的模块,随 Matplotlib 软件包一起安装,该模块的导包方式和 Pyplot 不同,如下所示&#…

SAP CAP篇十:理解Fiori UI的Annoation定义

本文目录 本系列此前的文章官方文档和基础概念SAP CAP对Fiori UI的支持package.json的新增内容Annotation定义List Page 生成的Edmx文件 对应代码及branch 本系列此前的文章 SAP CAP篇一: 快速创建一个Service,基于Java的实现 SAP CAP篇二:为Service加上…

青岛大学_王卓老师【数据结构与算法】Week05_12_队列的类型定义_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享, 另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础…

【学习笔记】[CTSC2017] 网络

我的评价是毒瘤😅 首先想到的肯定是原树上的直径。 于是得到第一个结论:这条边的两个端点一定在直径上。 第二个结论:每个点距离最远的那个点是直径的两个端点之一。 发现直径上形成了一个环。显然这个环的长度应该 ≥ L \ge L ≥L&#…

Mysql分区表----分类、优势、特点、优点

范围分区(Range Partitioning、哈希分区(Hash Partitioning)列 表分区(List Partitioning)、键值分区( Key partition ) 文章目录 mysql分区表概述:MYSQL分区表简单而言就是将一张大…

跨域问题解决

由于同源策略,需要协议,域名,端口三个都相同才能进行访问,是一种浏览器的保护策略 CORS:Cross Origin Resource Sharing SpringBoot 项目中解决跨域 1.在目标方法中加入CrossOrigin注解 2.添加一种过滤器 分别是允许哪些域&#…

分享几种在家就能做的网赚方式,下班暑假都可以做的副业推荐

在当前的互联网时代中,网上赚钱已经成为受到广泛关注的一个话题。越来越多的人渴望通过利用互联网来实现经济上的自由,然而,同时也面临一些风险和挑战。 尽管网上有很多兼职赚钱的机会,但并不是所有方式都可信赖。有些机会可能会…

JVM_00000

JVM 所谓虚拟机(Virtual Machine)就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。 Visual Box,VMware就属于系统虚拟机,它们完全是对物…

【动手学习深度学习--逐行代码解析合集】18网络中的网络(NiN)

【动手学习深度学习】逐行代码解析合集 18网络中的网络(NiN) 视频链接:动手学习深度学习–网络中的网络(NiN) 课程主页:https://courses.d2l.ai/zh-v2/ 教材:https://zh-v2.d2l.ai/ 1、NiN网络…

IDE/VS项目属性中的 <字符集> 配置项,它到底是干什么用的?

文章目录 概述对配置项的基础测试VS默认的字符集配置Unicode字符集和多字节字符集是否影响文本编辑器 使VS像记事本那样显示文件编码VS下编译UTF-8无BOM的代码文件VS可以搞定ANSI和带BOM的源代码文件VS搞不定UTF-8无BOM的源代码文件乱码字符是怎么翻译出来的?猜猜看再起航 使V…

解决windows上端口占用问题

在开发中总会碰到端口占用问题,最后导致我们项目或服务无法正常启动。 解决方案如下: # 1.根据端口号查进程 例如8082端口 netstat -aon | findstr :8082 # 2.根据进程id查应用名 tasklist|findstr "11376" # 3.根据pid删除进程 taskkill …

检测到错误页面web应用服务器版本信息泄露

详细描述 Web服务器未能正确处理异常请求导致Web服务器版本信息泄露,攻击者收集到服务器信息后可进行进一步针对性攻击。 解决办法 临时修复建议如下: 1、关闭web服务器错误提示。 2、关闭运行平台的错误提示。 3、建立错误机制,不要把真实…

python numpy axis=0,1,2, 分清楚

理解维度问题,记忆右边图片坐标的0,1,2, 就记住了计算方向问题,每个矩阵想象一张图片,多个图片叠加, 哪个维度做,哪个维度就被降维度1,默认无 所以 (4,3,2&am…

linux系统管理:常用命令和技巧

目录 0 前言 1 sudo and su 1.1 su: 切换用户 1.2 sudo: 切换用户 2 权限设置:chmod, chown 2.1 chmod:访问权限设置 2.2 chown:设置文件或目录的主人 2.3 chgrp:设计文件或者目录属于哪个组 2.4 查询组成员 2.5 查询某…

搭建微服务工程 【详细步骤】

一、准备阶段 🍉 本篇文章用到的技术栈 mysqlmybatis[mp]springbootspringcloud alibaba 需要用到的数据库 订单数据库: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for shop_order -- --------------…