python爬虫之协程

1、同步代码:

import timedef run(index):print("lucky is a good man", index)time.sleep(2)print("lucky is a nice man", index)for i in range(1, 5):run(i)

运行结果:

lucky is a good man 1
lucky is a nice man 1
lucky is a good man 2
lucky is a nice man 2
lucky is a good man 3
lucky is a nice man 3
lucky is a good man 4
lucky is a nice man 4

2、异步执行

import time
import asyncioasync def run(i):print("lucky is a good man", i)# 模拟一个耗时IOawait asyncio.sleep(2)print("lucky is a nice man", i)if __name__ == "__main__":# loop = asyncio.get_event_loop()  此方法已弃用,使用会报错loop = asyncio.new_event_loop()asyncio.set_event_loop(loop)tasks = []t1 = time.time()for url in range(1, 5):coroutine = run(url)task = asyncio.ensure_future(coroutine)tasks.append(task)loop.run_until_complete(asyncio.wait(tasks))t2 = time.time()print("总耗时:%.2f" % (t2 - t1))

运行结果:

lucky is a good man 1
lucky is a good man 2
lucky is a good man 3
lucky is a good man 4
lucky is a nice man 1
lucky is a nice man 3
lucky is a nice man 2
lucky is a nice man 4
总耗时:2.01

3、简单异步:

import asyncioasync def run():print('run函数开始')#  这个位置的asyncio.sleep()  用于携程对象中的阻塞等待await asyncio.sleep(2)print('run函数结束')if __name__ == '__main__':con = run()asyncio.run(con)

运行结果:

run函数开始
run函数结束

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

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

相关文章

幻读是什么,用什么隔离级别可以防止幻读?

幻读指的是,在同一个事务中,以同样的条件执行的两次查询,第二次查询查到了第一次查询所没查到的数据。 在mysql的四种隔离级别中,可重复读和串行化两种隔离级别没有幻读问题。那么它们是如何解决幻读问题的呢? 先说串行…

springboot小白入门

创建启动 省略。。。 第二章 springboot接口 本章学习: 1.接口定义 2.接收数据 3.返回数据 RestController注解,相当于ResponseBody + ControllerController负责接收用户的请求ResponseBody把数据写入到HTTP响应体的body部分RequestMappin…

【0250】深入分析Write-Ahead Log Fault Tolerance(WAL容错)

文章目录 1. 前言2. 容错2.1 缓存(Caching)2.2 数据损坏(Data Corruption)1. 前言 本文将详细讲解影响 2. 容错 不言而喻,预写式日志必须保证在任何情况下都能恢复崩溃(除非持久性存储本身被破坏)。影响数据一致性的因素有很多,但我将只讨论最重要的几个:缓存、数据…

springboot使用jasypt对配置文件加密,加密数据库连接

springboot使用jasypt对配置文件加密 springboot配置通过明文获取加密的值通过密文和盐值解密得到明文代码封装工具类 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><versio…

机器视觉之尺度不变特征变换(SFIT)算法的实例教程

话不多说&#xff0c;上代码 原理和应用场景在文章最后 import cv2 import numpy as np# 读取图片 img1 cv2.imread(你自己的第一张照片的路径, 0) #像我这样&#xff1a; img1 cv2.imread(/home/local/wang/Downloads/MicrosoftTeams-image (12).png, 0)img2 cv2.imread(你…

【网络】传输层TCP协议

目录 一、概述 2.1 运输层的作用引出 2.2 传输控制协议TCP 简介 2.3 TCP最主要的特点 2.4 TCP连接 二、TCP报文段的首部格式 三、TCP的运输连接管理 3.1 TCP的连接建立(三次握手) 3.2 为什么是三次握手&#xff1f; 3.3 为何两次握手不可以呢&#xff1f; 3.4 TCP的…

docker 安装手册

docker 安装手册 第一步卸载旧的docker (如果安装过Docker否则跳过此步) 以防万一最好执行一遍 yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 第二步&#xff0c;安装相关…

网络安全概述---笔记总结

网络安全概述 网络安全---Cyberspace security 2003年美国提出网络空间的概念 --- 一个由信息基础设施组成的互相依赖的网络。我国官方文件定义&#xff1a;网络空间为继海&#xff0c;陆&#xff0c;空&#xff0c;天以外的第五大人类活动领域 发展阶段&#xff1a; 通信保…

Unity UnityWebRequest 向php后端上传图片文件

之前测试功能写过一次&#xff0c;因为代码忘记保存&#xff0c;导致真正用到的时候怎么也想不起来当初怎么写的了&#xff0c;复现后还是写个文章记录一下&#xff0c;省的下次再忘记。 php后端 /*** 图片保存到本地*/ public function uploadLocalImage() {try {$img $thi…

Yolov8不废话!参考手册!

Yolov8使用 yolo taskdetect modetrain modelyolov8n.pt args...classify predict yolov8n-cls.yaml args...segment val yolov8n-seg.yaml args...export yolov8n.pt formatonnx args...使用Ultralytics YOLO进行模型训练 …

LeetCode454. 四数相加 II和1.两数之和

1. 两数之和 哈希表 提示 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出…

2024年安全员-C证证考试题库及安全员-C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年安全员-C证证考试题库及安全员-C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲随机出的…

力扣第92题——反转链表 II(C语言题解)

题目描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1…

Linux的一些快捷键(hot keyboard)

Ctrl Alt t&#xff1a;打开bash&#xff08;就是命令框窗口&#xff09; Ctrl Alt F3~F6&#xff1a;打开tty终端&#xff08;纯命令行终端&#xff0c;每个Linux发行版不相同&#xff0c;我的是Ubuntu20版&#xff09; Alt F4&#xff1a;关闭当前窗口&#xff08;Windo…

npm安装yarn

一、关于yarn 有时候使用npm构建项目&#xff0c;拉取第三方库的时候很慢不稳定&#xff0c;而yarn就是解决这一痛点的利器。yarn具有以下优良特性&#xff1a; 1、速度快 Yarn 缓存了每个下载过的包&#xff0c;所以再次使用时无需重复下载&#xff0c; 同时利用并行下载…

知识图谱的广泛应用与价值

目录 前言1 语义搜索2 知识问答2.1 问答对的深度关联2.2 文本挖掘与答案精准性2.3 知识图谱问答的全面服务 3 辅助推荐4 辅助大数据分析4.1 知识图谱推理的应用4.2 知识图谱的数据分析4.3 动态本体技术的引入 5 故障诊断5.1 故障诊断系统的应用5.2 知识图谱在语言理解中的作用5…

【书生·浦语大模型实战营06】《OpenCompass 大模型评测》学习笔记

《OpenCompass 大模型评测》 文档&#xff1a;OpenCompass大模型评测教程 1、主观评测 2、提示词工程 李华每周给2个不同的朋友写一封3页的信&#xff0c;一周写两次。他一年总共写了多少页的信? 李华每周给2个不同的朋友写一封3页的信&#xff0c; 一周写两次。他一年总共…

初识java—java的运算符以及程序逻辑结构

文章目录 算术运算符关系运算符逻辑运算符(重点)逻辑与 &&逻辑 ||逻辑非&#xff01;短路求值&#xff08;重点&#xff09; 程序逻辑控制顺序结构分支结构&#xff08;if else结构&#xff09;switch语句基本语法 循环结构breakcontinue 从键盘输入 算术运算符 基本四…

pygame入门学习(四)位图的使用

大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 载入图片 pygame.image.load( )&#xff0c;Pygame 可以通过pygame.image.load( )函数处理位图文件。 大致可以支持以下文件&#xff1a;JPG…

npm run serve和npm run dev的区别

1. 功能&#xff1a;通常&#xff0c;"npm run serve"用于启动开发服务器&#xff0c;提供实时的开发环境&#xff0c;支持自动重新加载和热模块替换。这样可以在开发过程中实时查看代码更改的效果。而"npm run dev"可以是一个自定义的指令&#xff0c;用于…