简介
今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度。
安装模块常规套路
pip install aiohttp运行之后等待,安装完毕,想要深造,那么官方文档必备 :https://aiohttp.readthedocs.io/en/stable/
接下来就可以开始写代码了。
我们要爬取的页面,这一次选取的是
http://bbs.fengniao.com/forum/forum_101_1_lastpost.html打开页面,我们很容易就获取到了页码
好久没有这么方便的看到页码了。
尝试用 aiohttp 访问这个页面吧,模块的引入,没有什么特殊的,采用 import 即可
如果我们需要 使用Asyncio + Aiohttp异步IO 编写爬虫,那么需要注意,你需要异步的方法前面加上async
接下来,先尝试去获取一下上面那个地址的网页源码。
代码中,先声明一个fetch_img_url的函数,同时携带一个参数,这个参数也可以直接写死。
with 上下文不在提示,自行搜索相关资料即可 (`・ω・´)
aiohttp.ClientSession() as session: 创建一个session对象,然后用该session对象去打开网页。session可以进行多项操作,比如post, get, put等
代码中 await response.text() 等待网页数据返回
asyncio.get_event_loop创建线程,run_until_complete方法负责安排执行 tasks中的任务。tasks可以为单独的函数,也可以是列表。
import aiohttp import asyncio async
