最近一直在研究 py 的异步......
所以想把之前整的一个 P 站收藏夹的爬虫换成异步,但是想了想,貌似收藏夹翻页的部分好像整不了异步?..
(写的很乱.....😶)
爬虫大概是这样运行的:
- 先登录获取用户信息
- 然后请求收藏夹的 api(这一步里会返回我收藏夹中第一页的信息和下一页的 url)
- 然后把上一步中第一页收藏夹的信息处理一下存进数据库
- 休眠一段时间后请求上一步中返回的 url(这里返回的信息和第二步一样,返回当前页的信息和下一页的 url)
- 然后处理信息存进数据库,一直循环第 4 步,直到下一页的 url 为 none
返回的下一页的 url 貌似不固定,得从上一步的结果中取...,所以这步好像不能异步?...🤔
但是数据库存储数据这步好像可以异步执行,但是怎么操作.......(创建了异步任务后需要 await 任务,await 任务这步貌似是堵塞的)😢
不知道单用异步能不能解决这个问题...
所以我想再开一个线程,把存数据库的操作丢到另一个线程里去操作...
各位有什么想法么?.........还有 有关于 python asyncio 的教程推荐么..(中文的...)