鱼C论坛

 找回密码
 立即注册
查看: 3642|回复: 23

[作品展示] 一个简单的协程I/O爬虫

[复制链接]
发表于 2019-9-22 00:34:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Stubborn 于 2019-9-22 16:07 编辑

这个是初步学习,至于在速度上是比线程,和普通的request比较是快还是慢,未测试,嗯嗯,接下来几篇就测试下把,为***网站默哀

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +2 收起 理由
fan1993423 + 3 + 3 + 2 好,有收获

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-22 07:23:20 From FishC Mobile | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-22 07:26:00 From FishC Mobile | 显示全部楼层
这不是协程吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-23 19:43:00 | 显示全部楼层
本帖最后由 Stubborn 于 2019-9-23 19:45 编辑


更正,更正
补充下,这个爬虫,可以并发执行任务,这样改下
async def main():
    await asyncio.gather(
        start_get_url(0,5),
        start_get_url(5,10),
        start_get_url(10,15),
        start_get_url(15,20),
    )

对应的函数不分需要这样修改
async def start_get_url(left,right):
    """起始的网页响应"""
    for page in range(left,right):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-23 23:50:34 | 显示全部楼层
RE: 一个简单的协程I/O爬虫 [修改]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-24 01:00:16 From FishC Mobile | 显示全部楼层
666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-24 12:20:23 | 显示全部楼层
回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-26 09:57:51 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-27 10:49:33 | 显示全部楼层
656156
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-27 11:05:37 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-27 11:10:28 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-27 12:04:16 | 显示全部楼层
E
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-27 14:19:26 | 显示全部楼层
学习中,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-23 23:07:04 | 显示全部楼层
先做记号,回头来看,协程我还是比较迷惘的一块,感觉Python后面要在速度上面上去,只能靠进程加携程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-24 01:07:35 | 显示全部楼层
四点好 发表于 2019-11-23 23:07
先做记号,回头来看,协程我还是比较迷惘的一块,感觉Python后面要在速度上面上去,只能靠进程加携程

这个是很简单的例子,asyncio aiohttp 前面是python对协程的支持,后面属于异步的网络框架,学习asyncio
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-24 16:03:55 | 显示全部楼层
Stubborn 发表于 2019-11-24 01:07
这个是很简单的例子,asyncio aiohttp 前面是python对协程的支持,后面属于异步的网络框架,学习asyncio  ...

最近花了好几天去了解异步的操作,感觉python的性能提升也只能靠异步了,而且现在来看,
谁的异步完善,谁就得到了天下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-29 14:27:38 | 显示全部楼层
继续继续学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-30 10:52:03 | 显示全部楼层
学习中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-1 17:32:36 From FishC Mobile | 显示全部楼层
Stubborn 发表于 2019-9-23 19:43
更正,更正
补充下,这个爬虫,可以并发执行任务,这样改下


居然用到了异步协同函数的概念
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-1 18:07:36 | 显示全部楼层
学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 12:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表