python网络异步爬虫(aiohttp库)(代码片段)

web安全工具库 web安全工具库     2022-11-14     662

关键词:

0x01 单线程访问网页

import requests
import time
num=20
url = "https://www.dandanzan10.top/dianying/index.html"
ks=time.time()
for _ in range(1,num+1):
    res=requests.get(url)
    print(res.text[:10])
    js = time.time()
print(js-ks)


运行结果: <!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
<!DOCTYPE 
24.051593542099


进程已结束,退出代码0

访问网页20次大概需要24秒左右

0x02 加入协程访问网页

import asyncio
import aiohttp
import time


ks=time.time()


async def get(a,url):
    async with a.get(url) as res:
        return await res.text()


async def main():
    async with aiohttp.ClientSession() as s:
        res = await get(s,"https://www.dandanzan10.top/dianying/index.html")
        print(res[:10])


if __name__=='__main__':


    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    taks=[asyncio.ensure_future(main(),loop=loop) for _ in range(20)]
    loop.run_until_complete(asyncio.wait(taks))
    js = time.time()
    print(js-ks)
    
    运行结果: <!DOCTYPE *20.。。。2.0055174827575684
    

通过协程方法,访问该页面20次,仅用2秒左右

1、定义一个get请求方法,返回获取的字符串

2、async:协程定义方法必须加上这个关键字

3、await:返回的对象都必须加上这个关键字

0x03 声明

仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者不承担任何法律及连带责任。

欢迎关注公众号编程者吧

为aiohttp爬虫注入灵魂(代码片段)

为aiohttp爬虫注入灵魂摄影:产品经理与产品经理在苏州的小生活听说过异步爬虫的同学,应该或多或少听说过aiohttp这个库。它通过Python自带的async/await实现了异步爬虫。使用aiohttp,我们可以通过requests的api写出并发量匹敌Scrapy... 查看详情

python3异步爬虫:asyncio+aiohttp+aiofiles(python经典编程案例)(代码片段)

爬取网站为:http://www.tulishe.com/all#-*-encoding:utf-8-*-importosimporttimeimportasyncioimportaiohttpimportaiofilesfromlxmlimportetreefromfunctoolsimportwrapsfromasyncio.proactor_eventsimport_Proac 查看详情

python爬虫--高性能的异步爬虫(代码片段)

...;推荐)4.2单任务协程4.3多任务协程测试代码应用案例aiohttp模块总结文章知识点单线程、多线程线程池单协程、多协程headers中Refere的作用异步模块aiohttp使用一、异步爬虫概述高性能异步爬虫:在爬虫中 查看详情

python啥爬虫库好用?

aiohttp:是纯粹的异步框架,同时支持HTTP客户端和服务端,可以快速实现异步爬虫,并且其中的aiohttp解决了requests的一个痛点,它可以轻松实现自动转码,对于中文编码就很方便了。asks:Python自带一个异步的标准库asyncio,但这... 查看详情

python使用asyncio+aiohttp异步爬取猫眼电影专业版

...是阻塞的,无法并发,所以我们需要一个更牛逼的库 aiohttp ,它的用法与requests相似,可以看成是异步版的requests,下面通过实战爬取猫眼电影专业版来熟悉它们的 查看详情

pythonaiohttp库是否值得学?那必须要掌握呀(代码片段)

aiohttp是一个基于asyncio的异步HTTP客户端/服务器库。它提供了一组用于编写高性能异步网络应用程序的工具,包括基于协程的客户端和服务器。库的安装使用pipinstallaiohttpPythonaiohttp库通过aiohttp搭建服务器aiohttp路由aiohttp中间件... 查看详情

python爬虫需要安装哪些库

...作,模拟操作。3.chromedriver安装chromedriver来驱动chrome。4.aiohttpaiohttp是异步请求库,抓取数据时可以提升效率。二、解析库1.lxmllxml是Python的一个解析库,支持解析HTML和XML,支持XPath的解析方式,而且解析效率非常高。2.beautifulsoup4B... 查看详情

python链家网高并发异步爬虫and异步存入数据

python链家网二手房异步IO爬虫,使用asyncio、aiohttp和aiomysql很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests、urllib这些同步的库进行单线程爬虫,速度是比较慢的,后学会用scrapy框架进行爬虫,速度很快,原因是scra... 查看详情

快收藏!史上最全156个python网络爬虫资源(代码片段)

本列表包含Python网页抓取和数据处理相关的库。网络相关通用urllib-网络库(标准库)requests-网络库grab-网络库(基于pycurl)pycurl-网络库(与libcurl绑定)urllib3-具有线程安全连接池、文件psot支持、高可用的PythonHTTP库httplib2-网络库RoboBrowser-... 查看详情

抓取新闻网站:异步爬虫实现的流程和细节(代码片段)

...个用C开发的异步循环模块,大大提高异步机制的效率;aiohttp:一个异步http请求的模块,用于下载网页;urllib.parse:解析url网站的模块;logging:记录爬虫日志;leveldb:Google的Key-Value数据库,用以记录url的状态;farmhash:对url进行hash计... 查看详情

python3请求库aiohttp的使用安装教程

aiohttp就是这样一个提供异步Web服务的库,从Python3.5版本开始,Python中加入async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰。而前面介绍的 requ... 查看详情

python3请求库aiohttp的使用安装教程

aiohttp就是这样一个提供异步Web服务的库,从Python3.5版本开始,Python中加入async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰。而前面介绍的 requ... 查看详情

python3请求库aiohttp的使用安装教程

aiohttp就是这样一个提供异步Web服务的库,从Python3.5版本开始,Python中加入async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰。而前面介绍的 requ... 查看详情

python使用python的aiohttp和asyncio进行多个异步httpget请求(代码片段)

查看详情

python网络爬虫与信息提取—requests库入门(代码片段)

...c;自动网络请求提交此博客为中国大学MOOC北京理工大学《Python网络爬虫与信息提取》的学习笔记requests库的安装requests库是Python的第三方库,是目前公认的,爬取网页最好的第三方库。关于requests库的更多信息,可以在... 查看详情

网络爬虫入门:你的第一个爬虫项目(requests库)(代码片段)

0.采用requests库虽然urllib库应用也很广泛,而且作为Python自带的库无需安装,但是大部分的现在python爬虫都应用requests库来处理复杂的http请求。requests库语法上简洁明了,使用上简单易懂,而且正逐步成为大多数网络爬取的标准。... 查看详情

学习python进阶知识,看哪些视频

...则、XPath、BeautifulSoup、pyquery;数据持久化;并发下载:aiohttp、async、await、异步I/O、协程;其他:框架(Scrapy)、Selenium三、数据分析数据整理库:Pandas、Numpy库;数据可视化:matplotlib库、pycharts库四、人工智 查看详情

aiohttp初识(请求&响应)(代码片段)

aiohttp(用于asyncio和Python的异步HTTP客户端/服务器)初识aiohttp客户端使用用于asyncio和Python的异步HTTP客户端/服务器:AsynchronousHTTPClient/ServerforasyncioandPython.发起请求让我们从导入aiohttp模块开始:importaiohttp好啦,我们来尝试获取一个we... 查看详情