https://www.bilibili.com/video/BV1g7411k7MD?from=search&seid=13649975876676293013

import asyncio
import random #需求:有一个crontab调度器,每隔1秒,拉起1个job,要求这些job可以并发爬取网页
async def cron_scheduler():
page = 1
while True:
url = "{}/{}".format("https://baidu.com",page)
job = cron_job(url) #必须将新携程分离出去,让它和当前携程并发
asyncio.create_task(job) #注册到事件循环
await asyncio.sleep(0) #主动让渡线程
page = page+1 async def cron_job(url):
n = random.randint(1,3) #模拟下载延迟
await asyncio.sleep(n)
print("下载结束:",url) asyncio.run(cron_scheduler())

  

下载结束: https://baidu.com/145032
下载结束: https://baidu.com/144970
下载结束: https://baidu.com/144972
下载结束: https://baidu.com/145096
下载结束: https://baidu.com/145097
下载结束: https://baidu.com/145042
下载结束: https://baidu.com/145168
下载结束: https://baidu.com/144960
下载结束: https://baidu.com/145037

最新文章

  1. 使用rsync+inotify同步两台服务器文件
  2. iOS App Store上架新APP与更新APP版本
  3. iOS 设置navigationBar背景
  4. sprint2(第七天)
  5. kuangbin_UnionFind C (HDU 1213)
  6. 在Web中实现C/S模式的Tab
  7. 简单概述 .NET Framework 各版本区别
  8. android 支持的语言列表(汇总)
  9. SpringMVC08转发和重定向
  10. Team Queue(多队列技巧处理)
  11. HTML5 总结-画布-4
  12. javascritp封装的类似java HashMap的类
  13. 【原创】java中的父进程子进程 —— 坑爹的java Runtime.getRuntime().exec
  14. java_代码注释风格
  15. java--加强之 Java5的泛型
  16. jfinal的回滚
  17. spring boot集成websocket实现聊天功能和监控功能
  18. 【深度学习】吴恩达网易公开课练习(class2 week1 task2 task3)
  19. response响应
  20. <自动化测试方案_2>第二章、自动化测试是什么?(What)

热门文章

  1. PyTorch Hub发布!一行代码调用最潮模型,图灵奖得主强推
  2. iOS 设备尺寸与系统信息
  3. 如何测试Linux命令运行时间?
  4. Jupyter修改主题,字体,字号-教程
  5. 吴恩达DeepLearning.ai的Sequence model作业Dinosaurus Island
  6. 操作系统-IO与显示器
  7. 1~n的之间的k个数组成和为n的方案数(动态规划)
  8. async和await是如何实现异步编程?
  9. JS必看面试题
  10. PTA数据结构与算法题目集(中文) 7-43字符串关键字的散列映射 (25 分)