单线程+多任务异步协程: asyncio
事件循环 loop: 无限循环的对象,事件循环中最终需要将一些特殊的函数注册到该事件循环中 特殊的函数: 被ansyc关键字修饰的函数 协程: 本质上是一个对象,可以把协程对象注册到事件循环中, 任务对象:就是对协程对象进一步的封装. 绑定回调(即在执行完特殊函数之后执行这个回调函数):task.add_done_callback(func) - func(task) :task 参数表示的就是绑定的任务对象 - task.result() 返回的就是任务对象对应的特殊函数内部的返回值 - 回调函数 多被用作爬虫的解析方法(就是标签定位和解析数据) await: 在执行任务函数的时候,如果出现了阻塞,则必须在前面加一个await进行修饰
异步操作的体现:
当将多个协程对象注册到事件循环中后,事件循环开启时,则会循环执行其内部的协程对象.
假如事件循环对象在执行某一个协程对象时,发生了阻塞,则事件循环会执行下一个协程对象
aiohttp模块: 支持异步的网络请求模块 查看中文文档 点击这里
环境安装: aiohttp
如何进行UA伪装:
session.get(url=url,headers=headers)
参数的伪装:
session.get(url=url ,headers=headers ,data/params)
代理ip:
session.get(url=url,headers=headers,proxy='http://代理ip:代理端口')