【100天精通python】Day41:python网络爬虫开发_爬虫基础入门
目录
专栏导读
1网络爬虫概述
1.1 工作原理
1.2 应用场景
1.3 爬虫策略
1.4 爬虫的挑战
2 网络爬虫开发
2.1 通用的网络爬虫基本流程
2.2 网络爬虫的常用技术
2.3 网络爬虫常用的第三方库
3 简单爬虫示例
专栏导读
专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html
1网络爬虫概述
网络爬虫(Web Crawler),也称为网络蜘蛛、网络机器人,是一种自动化程序,用于在互联网上浏览和抓取信息。爬虫可以遍历网页,收集数据,提取信息,以便于进一步处理和分析。网络爬虫在搜索引擎、数据采集、信息监测等领域发挥着重要作用。
1.1 工作原理
初始URL选择: 爬虫从一个或多个初始URL开始,这些URL通常是你希望开始爬取的网站的主页或其他页面。
发送HTTP请求: 对于每个初始URL,爬虫会发送HTTP请求以获取网页内容。请求可以包括GET、POST等不同的HTTP方法,也可以设置请求头、参数和Cookies等。
接收HTTP响应: 服务器将返回一个HTTP响应,其中包含网页的HTML代码和其他资源,如图片、CSS、JavaScript等。
解析网页内容: 爬虫使用HTML解析库(如Beautiful Soup或lxml)解析接收到的HTML代码,将其转换为文档对象模型(DOM)结构。
数据提取和处理: 通过DOM结构,爬虫从网页中提取所需的信息,如标题、正文、链接、图片等。这可以通过CSS选择器、XPath等方法实现。
存储数据: 爬虫将提取的数据存储到本地文件、数据库或其他存储系统中,以供后续分析和使用。
发现新链接: 在解析网页时,爬虫会找到新的链接,并将其加入待爬取的URL队列中,以便继续爬取更多页面。
重复流程: 爬虫循环执行上述步骤,从初始URL队列中取出URL,发送请求,接收响应,解析网页,提取信息,处理和存储数据,发现新链接,直到完成爬取任务。
控制和维护: 爬虫需要设置适当的请求频率和延时,以避免对服务器造成过大负担。还需要监控爬虫的运行情况,处理错误和异常。
1.2 应用场景
搜索引擎:搜索引擎使用爬虫来抓取网页内容,建立索引,以便用户搜索时能够快速找到相关信息。
数据采集:企业、研究机构等可以使用爬虫从互联网上采集数据,用于市场分析、舆情监测等。
新闻聚合:爬虫可以从各个新闻网站抓取新闻标题、摘要等,用于新闻聚合平台。
价格比较:电商网站可以使用爬虫抓取竞争对手的产品价格和信息,用于价格比较分析。
科研分析:研究人员可以使用爬虫来获取科学文献、学术论文等信息。
1.3 爬虫策略
通用爬虫(General Crawler)和聚焦爬虫(Focused Crawler)是两种不同的网络爬虫策略,用于在互联网上获取信息。它们的工作方式和应用场景有所不同。
通用爬虫(General Crawler): 通用爬虫是一种广泛用途的爬虫,它的目标是尽可能地遍历互联网上的大量网页,以收集和索引尽可能多的信息。通用爬虫会从一个起始URL开始,然后通过链接跟踪、递归爬取等方式探索更多的网页,构建一个广泛的网页索引。
通用爬虫的特点:
- 目标是收集尽可能多的信息。
- 开始于一个或多个起始URL,然后通过链接跟踪扩展。
- 适用于搜索引擎和大型数据索引项目。
- 需要考虑网站的robots.txt文件和反爬虫机制。
聚焦爬虫(Focused Crawler): 聚焦爬虫是一种专注于特定领域或主题的爬虫,它选择性地爬取与特定主题相关的网页。与通用爬虫不同,聚焦爬虫只关注某些特定的网页,以满足特定需求,如舆情分析、新闻聚合等。
聚焦爬虫的特点:
- 专注于特定主题或领域。
- 根据特定的关键词、内容规则等选择性地爬取网页。
- 适用于定制化需求,如舆情监控、新闻聚合等。
- 可以更精准地获取特定领域的信息。
在实际应用中,通用爬虫和聚焦爬虫有各自的优势和用途。通用爬虫适合用于构建全面的搜索引擎索引,以及进行大规模数据分析和挖掘。聚焦爬虫则更适合于定制化需求,能够针对特定领域或主题获取精准的信息。
1.4 爬虫的挑战
网站结构变化:网站结构和内容可能随时变化,需要对爬虫进行调整和更新。
反爬虫机制:一些网站采取了反爬虫措施,如限制请求频率、使用验证码等。
数据清洗:从网页中提取的数据可能包含噪音,需要进行清洗和整理。
法律和道德问题:爬虫需要遵守法律法规,尊重网站规则,不要滥用和侵犯他人权益。
总结: 网络爬虫是一种自动化程序,用于从互联网上获取信息。它通过发送请求、解析网页、提取信息等步骤,实现数据的采集和整理。在不同的应用场景中,爬虫发挥着重要的作用,但也需要面对各种挑战和合规性问题。
2 网络爬虫开发
2.1 通用的网络爬虫基本流程
2.2 网络爬虫的常用技术
网络爬虫是一种自动化的程序,用于从互联网上收集数据。常用的网络爬虫技术和第三方库包括以下内容:
1. 请求和响应处理:
- Requests: 用于发送HTTP请求和处理响应的库,方便爬虫获取网页内容。
- httpx: 类似于
requests
,支持同步和异步请求,适用于高性能爬虫。2. 解析和提取数据:
- Beautiful Soup: 用于解析HTML和XML文档,并提供简单的方法来提取所需数据。
- lxml: 高性能的HTML和XML解析库,支持XPath和CSS选择器。
- PyQuery: 基于jQuery的解析库,支持CSS选择器。
3. 动态渲染网页:
- Selenium: 自动化浏览器库,用于处理动态渲染的网页,如JavaScript加载内容。
4. 异步处理:
- asyncio和aiohttp: 用于异步处理请求,提高爬虫的效率。
5. 数据存储:
- SQLite、MySQL、MongoDB: 数据库用于存储和管理爬取的数据。
- CSV、JSON: 简单格式用于导出和导入数据。
6. 反爬虫和IP代理:
- User-Agent设置: 设置请求的User-Agent头部来模拟不同浏览器和操作系统。
- 代理服务器: 使用代理IP来隐藏真实IP地址,避免IP封禁。
- 验证码处理: 使用验证码识别技术来处理需要验证码的网站。
7. Robots.txt和网站政策遵守:
- robots.txt: 检查网站的
robots.txt
文件,遵循网站的规则。- 爬虫延迟: 设置爬虫请求的延迟,避免对服务器造成过大负担。
8. 爬虫框架:
- Scrapy: 一个强大的爬虫框架,提供了许多功能来组织爬取过程。
- Splash: 一个JavaScript渲染服务,适用于处理动态网页。
2.3 网络爬虫常用的第三方库
网络爬虫使用多种技术和第三方库来实现对网页的数据获取、解析和处理。以下是网络爬虫常用的技术和第三方库:
1. 请求库: 网络爬虫的核心是发送HTTP请求和处理响应。以下是一些常用的请求库:
- Requests: 简单易用的HTTP库,用于发送HTTP请求和处理响应。
- httpx: 现代化的HTTP客户端,支持异步和同步请求。
2. 解析库: 解析库用于从HTML或XML文档中提取所需的数据。
- Beautiful Soup: 用于从HTML和XML文档中提取数据的库,支持灵活的查询和解析。
- lxml: 高性能的XML和HTML解析库,同时支持XPath和CSS选择器。
3. 数据存储库: 存储爬取到的数据是爬虫的重要环节之一。
- SQLAlchemy: 强大的SQL工具包,用于在Python中操作关系数据库。
- Pandas: 数据分析库,可用于数据清洗和分析。
- MongoDB: 非关系型数据库,适合存储和处理大量的非结构化数据。
- SQLite: 轻量级的嵌入式关系数据库。
4. 异步库: 使用异步请求可以提高爬虫的效率。
- asyncio: Python的异步IO库,用于编写异步代码。
- aiohttp: 异步HTTP客户端,支持异步请求。
5. 动态渲染处理: 有些网页使用JavaScript进行动态渲染,需要使用浏览器引擎进行处理。
- Selenium: 自动化浏览器操作库,用于处理JavaScript渲染的页面。
6. 反爬虫技术应对: 一些网站采取反爬虫措施,需要一些技术来绕过。
- 代理池: 使用代理IP来避免频繁访问同一IP被封禁。
- User-Agent随机化: 更改User-Agent以模拟不同的浏览器和操作系统。
这只是网络爬虫常用的一些技术和第三方库。根据实际项目需求,您可以选择合适的技术和工具来实现高效、稳定和有用的网络爬虫。
3 简单爬虫示例
创建一个简单的爬虫,例如爬取一个静态网页上的文本信息,并将其输出。
import requests
from bs4 import BeautifulSoup# 发送GET请求获取网页内容
url = 'https://www.baidu.com'
response = requests.get(url)
response.encoding = 'utf-8' # 指定编码为UTF-8
html_content = response.text# 使用Beautiful Soup解析HTML内容
soup = BeautifulSoup(html_content, 'html.parser')# 提取网页标题
title = soup.title.text# 提取段落内容
paragraphs = soup.find_all('p')
paragraph_texts = [p.text for p in paragraphs]# 输出结果
print("Title:", title)
print("Paragraphs:")
for idx, paragraph in enumerate(paragraph_texts, start=1):print(f"{idx}. {paragraph}")
相关文章:
【100天精通python】Day41:python网络爬虫开发_爬虫基础入门
目录 专栏导读 1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战 2 网络爬虫开发 2.1 通用的网络爬虫基本流程 2.2 网络爬虫的常用技术 2.3 网络爬虫常用的第三方库 3 简单爬虫示例 专栏导读 专栏订阅地址:https://blog.csdn.net/…...
开源和自研——机器人
双足机器人: MPC技术:封闭性非常高。没有开源方案可抄。 因为开源,不需要从0构建。 这也是前两年,国外一开源华为就遥遥领先。 射频芯片/射频天线:技术封闭。华为虽然做通信,但却没有攻破。 鸿蒙&#…...
【AIGC 讯飞星火 | 百度AI|ChatGPT| 】智能对比
AI智能对比 🍸 前言🍺 概念类对比🍵 讯飞🍵 百度AI🍵 chatGPT 🍹 功能类对比☕ 讯飞☕ 百度AI☕ chatGPT 🥃 可输入字数对比🥤 百度AI🥤 讯飞🥤 chatGPT &…...
Wazuh安装及使用
环境配置 官方网址Quickstart Wazuh documentation 可以选择Elastic Stack安装,也可以选择下载虚拟机(OVA)安装 这里展示虚拟机安装 下载好文档中提供的文件 虚拟机配置要求 在VM左上角 文件->打开->刚刚下载的.ova文件,…...
docker pull 设置代理 centos
On CentOS the configuration file for Docker is at: /etc/sysconfig/docker 用 root 权限打开 text editor sudo gedit 注意 加引号 Adding the below line helped me to get the Docker daemon working behind a proxy server: HTTP_PROXY“http://<proxy_host>:&…...
仪表板展示 | DataEase看中国:2023年中国电影市场分析
背景介绍 随着《消失的她》、《变形金刚:超能勇士崛起》、《蜘蛛侠:纵横宇宙》、《我爱你》等国内外影片的上映,2023年上半年的电影市场也接近尾声。据国家电影专资办初步统计,上半年全国城市院线票房达262亿元,已经超…...
在APP中如何嵌入小游戏?
APP内嵌游戏之所以能火爆,主要是因为互联网对流量的追求是无止境的,之前高速增长的红利期后,获取新的流量成为各大厂商的挑战,小游戏的引入,就是这个目的,为已有的产品赋能,抢占用户注意力和使用…...
神经网络基础-神经网络补充概念-02-逻辑回归
概念 逻辑回归是一种用于二分分类问题的统计学习方法,尽管名字中带有"回归"一词,但实际上它用于分类任务。逻辑回归的目标是根据输入特征来预测数据点属于某个类别的概率,然后将概率映射到一个离散的类别标签。 逻辑回归模型的核…...
DICOM图像的常用一些参数解析
医学图像DICOM医学影像文件格式详解 Dicom文件基本操作 DICOM图像参数? 像素:构成图片的小色点。图像每个维度的像素个数——该维度一共有多少个均匀分布的像素点。 分辨率(单位DPI):每英寸(Inch…...
Java虚拟机(JVM):虚拟机栈溢出
一、概念 Java虚拟机栈溢出(Java Virtual Machine Stack Overflow)是指在Java程序中,当线程调用的方法层级过深,导致栈空间溢出的情况。 Java虚拟机栈是每个线程私有的,用于存储方法的调用和局部变量的内存空间。每当…...
MySQL流程控制
流程控制 顺序结构: 程序从上往下依次执行分支结构: 程序按条件进行选择执行,从两条或多条路径中选择一条执行。循环结构: 程序满足一定条件下,重复执行一组语句 针对于MySQL的流程控制语句主要有3类。注意ÿ…...
智安网络|深入比较:Sass系统与源码系统的差异及选择指南
随着前端开发的快速发展,开发人员需要使用更高效和灵活的工具来处理样式表。在这个领域,Sass系统和源码系统是两个备受关注的选项。 Sass系统 Sass(Syntactically Awesome Style Sheets)是一种CSS预处理器,它扩展了CS…...
Day14 01-Shell脚本编程详解
文章目录 第一章 Shell编程【重点】1.1. Shell的概念介绍1.1.1. 命令解释器4.1.1.2. Shell脚本 1.2. Shell编程规范1.2.1. 脚本文件的结构1.2.2. 脚本文件的执行 1.3. Shell的变量1.3.1. 变量的用法1.3.2. 变量的分类1.3.3. 局部变量1.3.4. 环境变量1.3.5. 位置参数变量1.3.6. …...
NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南
挑选指定系统和对应的GPU型号下载驱动和CUDA工具包: Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包_centos安装显卡驱动和cuda_Entropy-Go的博客-CSDN博客 相比之下,本文是在线安装NVIDIA GPU驱动和CUDA工具包方式,省去挑选对应正确安装包的烦…...
Php“牵手”拼多多商品详情页数据采集方法,拼多多API接口申请指南
拼多多详情接口 API 是开放平台提供的一种 API 接口,它可以帮助开发者获取商品的详细信息,包括商品的标题、描述、图片等信息。在电商平台的开发中,详情接口API是非常常用的 API,因此本文将详细介绍详情接口 API 的使用。 一、拼…...
未来公文的智能化进程
随着技术的飞速发展,公文——这个有着悠久历史的官方沟通方式,也正逐步走向智能化的未来。自动化、人工智能、区块链...这些现代科技正重塑我们的公文制度,让其变得更加高效、安全和智慧。 1.语义理解与自动生成 通过深度学习和NLPÿ…...
C语言:深度学习知识储备
目录 数据类型 每种类型的大小是多少呢? 变量 变量的命名: 变量的分类: 变量的作用域和生命周期 作用域: 生命周期: 常量 字符串转义字符注释 字符串: 转义字符 操作符: 算术操作符…...
探索大模型时代下的算法工程师前景与发展路径
文章目录 大模型时代的挑战与机遇从算法到工程:技能升级的必要性发展路径与职业规划路径一:深耕研究领域路径二:工程实践与部署路径三:跨界合作与解决复杂问题路径四:教育培训和技术普及 不断学习与更新知识结论 &…...
【福建事业单位-综合基础知识】03行政法
【福建事业单位-综合基础知识】03行政法 1.行政法概述(原则重点)行政主体范围 行政行为总结 二.行政处罚2.1行政处罚的种类总结 行政法框架 1.行政法概述(原则重点) 行政法的首要原则是合法;自由裁量——合理行政&…...
CSS 背景属性
前言 背景属性 属性说明background-color背景颜色background-image背景图background-repeat背景图平铺方式background-position背景图位置background-size背景图缩放background-attachment背景图固定background背景复合属性 背景颜色 可以使用background-color属性来设置背景…...
小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2
8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…...
Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist
一开始肯定要排个序,b相同时t大的在前边,不同时b大的在前面。 然后想最多只能选k个的限制,可以这样想,每次用到的b只能用已选到的最小的值,那可以把每个b都枚举一遍,然后每一次选时长最长的,且…...
postgresql中基础sql查询
postgresql中基础sql查询 创建表插入数据创建索引删除表postgresql命令速查简单查询计算查询结果 利用查询条件过滤数据模糊查询 创建表 -- 部门信息表 CREATE TABLE departments( department_id INTEGER NOT NULL -- 部门编号,主键, department_name CHARACTE…...
如何做好科技文献资料的翻译!
我们知道,科技文献是工程技术人员的重要参考文献,翻译科技文献资料有助于促进国内外科技知识和技术的传播。那么,如何做好科技文献资料的翻译,专业科技文献翻译哪家好? 据了解,科技文献翻译是一种以应用为主…...
处理Selenium3+python3定位鼠标悬停才显示的元素
这篇文章主要介绍了Selenium3python3--如何定位鼠标悬停才显示的元素 ,文中通过简单代码给大家介绍的非常详细,需要的朋友可以参考下 先给大家介绍下Selenium3python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素,要引入新模块 # coding…...
python通过S7协议读取西门子200smart数据
发现网上很多关于python通过s7协议控制200smart的代码都失败,我猜应该是版本的问题。自己捣鼓了半天,终于测试成功 from snap7 import util,clientmy_plc client.Client() #建立一个客户端对象 my_plc.set_connection_type(3) #如果是200smart,必须有此…...
深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)
深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)。 一、简介 单点登录(Single Sign On),简称为 SSO。 它的解释是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 ❝ 所谓一次登录,处处登录。同样一处退出,处处退出。 ❞ 二…...
【云原生】K8S控制详解
目录 一、Pod控制器1.1 Pod控制器及其功用1.2 pod控制器有多种类型1.3Pod与控制器之间的关系二、Deployment 三、SatefulSet3.1从上面的应用场景可以发现,StatefulSet由以下几个部分组成:3.2为什么要有headless?3.3为什么要有volumeClaimTemp…...
CentOS 8 安装 oracle 23c CentOS9 Error deal
1.环境准备 软件准备 序号 软件 下载地址 1 VirtualBox https://www.virtualbox.org/wiki/Downloads2 CentOS Stream 8 https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso3 oracle-database-free-23c # cd ~/Down…...
sklearn-决策树
目录 决策树算法关键 特征维度&判别条件 决策树算法:选择决策条件 纯度的概念...
元宇宙之应用(05) 远程医疗手术
在科技不断进步的今天,元宇宙的概念正逐渐从科幻小说走入现实,重新定义了人类与数字世界的交互方式。其中,"远程手术" 这一概念引发了医疗领域的深刻思考。为什么要让元宇宙与医疗领域产生交集?这一切究竟是什么&#x…...
centos7在线安装 jdk1.8+tomcat+mysql8+nginx+docker
centos7 在线安装jdk1.8 yum install -y java-1.8.0-openjdk.x86_64 java默认安装路径/usr/lib/jvm/; 加入环境变量配置,在/etc/profile 配置文件中加入 java 环境变量: vim /etc/profile #java 环境变量内容: #java环境变量…...
Vue中实现分页
1.构造分页组件,并注册为全局组件 <template><div class"pagination"><button v-if"startNumAndEndNum.start>1" click"$emit(getPageNo,pageNo-1)">上一页</button><button v-if"startNumAndEn…...
vue3 + antv/x6 实现拖拽侧边栏节点到画布
前篇:vue3ts使用antv/x6 自定义节点 前篇:vue3antv x6自定义节点样式 1、创建侧边栏 用antd的menu来做侧边栏 npm i --save ant-design-vue4.x//入口文件main.js内 import Antd from ant-design-vue; import App from ./App; import ant-design-vue/…...
视频云存储/安防监控/视频汇聚EasyCVR平台新增设备经纬度选取
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...
CentOS7源码安装MySQL详细教程
😊 作者: Eric 💖 主页: https://blog.csdn.net/weixin_47316183?typeblog 🎉 主题:CentOS7源码安装MySQL详细教程 ⏱️ 创作时间: 2023年08月014日 文章目录 1、安装的四种方式2、源码安装…...
SpringBoot + Vue 微人事(十二)
职位批量删除实现 编写后端接口 PositionController DeleteMapping("/")public RespBean deletePositionByIds(Integer[] ids){if(positionsService.deletePositionsByIds(ids)ids.length){return RespBean.ok("删除成功");}return RespBean.err("删…...
上半年巴比食品增收不增利,下半年失速的团餐业务能否“复苏”?
随着生活节奏逐渐加快,“宅经济”和“懒人经济”快速融合,人们对进餐便利性的要求逐渐提高,更适用于居家消费的食品应运而生,这其中速冻面点既便于烹饪,又方便快捷,因此其率先出圈获得了消费者青睐…...
Java基础篇--内部类
在Java中,允许在一个类的内部定义类,这样的类称作内部类,内部类所在的类称作外部类。在实际开发中,根据内部类的位置、修饰符和定义方式的不同,内部类可分为4种,分别是成员内部类、局部内部类、静态内部类、…...
完全备份、增量备份、差异备份、binlog日志
Top NSD DBA DAY06 案例1:完全备份与恢复案例2:增量备份与恢复案例3:差异备份与恢复案例4:binlog日志 1 案例1:完全备份与恢复 1.1 问题 练习物理备份与恢复练习mysqldump备份与恢复 1.2 方案 在数据库服务器192…...
Flutter实现Service + UI 全面跨平台
作者:Karl_wei 前言: Flutter作为跨平台的UI框架,其可行性已经被市场所认可。UI跨端后,我们自然会希望一些运行在终端的小服务也能跨端,特别是当这个小服务还涉及到一些 UI 的展示。 我们希望Flutter能承担这个角色&…...
微软商店的ubuntu 连不上网Temporary failure in name resolution
背景:win10 下载docker时需要wsl2,下了个微软商店的Ubuntu 。写这篇文章的原因是当时查了资料ubuntu的问题和微软下载的Ubuntu还是有一些区别,问题不好解决,故写此文。 问题:用命令ifconfig eth0 down后再执行ifconfi…...
“深入剖析JVM内部工作原理:解密Java虚拟机“
标题:深入剖析JVM内部工作原理:解密Java虚拟机 摘要: 本文将深入剖析Java虚拟机(JVM)的内部工作原理,包括类加载、运行时数据区、垃圾回收、即时编译等关键概念和机制。通过对JVM的解密,我们将…...
数据结构与算法基础
一、基本概念和术语 (一)数据元素、数据结构、抽象数据类型等概念 (二)算法设计的基本要求 (三)语句的频度和估算时间复杂度 二、线性表 (一)线性表的定义和基本操作 (…...
人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式
大家好,我是微学AI,今天给大家介绍一下人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式。句子嵌入是将句子映射到一个固定维度的向量表示形式,它在自然语言处理(NLP)中有着广泛的应用。通过将句子转化为向量…...
【Java并发编程面试题(60道)】
toc Java并发编程面试题(60道) 基础 1.并行跟并发有什么区别? 从操作系统的角度来看,线程是CPU分配的最小单位。 并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。并发就是同一时刻,只有一个执行&…...
Python:逢七拍腿游戏
场景模拟: 通过在 for 循环中使用 continue 语句实现计算拍腿次数,即计算从1到100(不包括100),一共有多少个尾数为7或7的倍数这样的游戏,代码如下: total 99 # 记…...
esp32C3 micropython oled 恐龙快跑游戏
目录 简介 效果展示 源代码 main.py ssd1306.py 实现思路 血量值 分数 恐龙 障碍物 得分与血量值的计算 简介 使用合宙esp32c3模块,基于micropython平台开发的一款oled小游戏,恐龙快跑,所有代码已经给出,将两个py文件…...
53.Linux day03 文件查看命令,vi/vim常用命令
今天进行了新的学习。 目录 1.cat a.查看单个文件的内容: b.查看多个文件的内容: c.将多个文件的内容连接并输出到一个新文件: d.显示带有行号的文件内容: 2.more 3.less 4.head 5.tail 6.命令模式 7.插入模式 8.图…...
YOLOv8改进后效果
数据集 自建铁路障碍数据集-包含路障,人等少数标签。其中百分之八十作为训练集,百分之二十作为测试集 第一次部署 版本:YOLOv5 训练50epoch后精度可达0.94 mAP可达0.95.此时未包含任何改进操作 第二次部署 版本:YOLOv8改进版本 首…...