python爬虫之aiohttp多任务异步爬虫

news/2024/9/25 21:24:04/

pythonaiohttp_0">python爬虫之aiohttp多任务异步爬虫

爬取的flash服务如下:

from flask import Flask
import timeapp = Flask(__name__)@app.route('/bobo')
def index_bobo():time.sleep(2)return 'Hello bobo'@app.route('/jay')
def index_jay():time.sleep(2)return 'Hello jay'@app.route('/tom')
def index_tom():time.sleep(2)return 'Hello tom'if __name__ == '__main__':app.run(threaded=True)

运行启动flask服务后,多任务爬取代码如下:

#环境安装:pip install aiohttp
#使用该模块中的ClientSession
import requests
import asyncio
import time
import aiohttpstart = time.time()
urls = ['http://127.0.0.1:5000/bobo','http://127.0.0.1:5000/jay','http://127.0.0.1:5000/tom'
]async def get_page(url):async with aiohttp.ClientSession() as session:#get()、post():#headers,params/data,proxy='http://ip:port'async with await session.get(url) as response:#text()返回字符串形式的响应数据#read()返回二进制形式的响应数据#json()返回的就是json对象#注意:获取响应数据操作之前一定要使用await进行手动挂起page_text = await response.text()print(page_text)tasks = []for url in urls:c = get_page(url)task = asyncio.ensure_future(c)tasks.append(task)loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))end = time.time()print('总耗时:',end-start)

http://www.ppmy.cn/news/1470331.html

相关文章

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总)

开源大语言模型完整列表 Large Language Model (LLM) 即大规模语言模型,是一种基于深度学习的自然语言处理模型,它能够学习到自然语言的语法和语义,从而可以生成人类可读的文本。 所谓"语言模型",就是只用来处理语言文…

笔记本系统盘移植与windowsLinux双系统安装

目录 一、 前言二、 Windows系统移植二、 安装Linux三、 Windows分区配置 一、 前言 笔记本内存不够了,之前给笔记本添加了一个机械硬盘,也几乎爆满了,于是购置了1T的固态硬盘,打算用这个固态硬盘安装双系统,剩余空间…

深入了解python生成器(generator)

生成器 生成器是 Python 中一种特殊类型的迭代器。生成器允许你定义一个函数来动态产生值,而不是一次性生成所有值并将它们存储在内存中。生成器使用 yield 关键字来逐个返回值。每次调用生成器函数时,函数会在 yield 语句暂停,并记住当前的…

ASPICE标准与ASPICE认证:提升汽车软件开发质量与效率的关键途径

在当今日新月异的科技时代,软件产品的质量和可靠性成为了企业赢得市场的关键。而ASPICE(Automotive SPICE)标准,作为汽车行业中软件过程评估的国际通用标准,正逐渐引起行业的广泛关注。那么,ASPICE标准究竟…

Spring-web-HttpServletRequest

在spring mvc中,有2种方法获取当前http请求的request,分别如下 方式1: spring mvc将当前request从抽象类FrameworkServlet的processRequest方法中放进去,然后我们通过下面代码拿出来 HttpServletRequest request ((ServletRequ…

Electron+Vue开源软件:洛雪音乐助手V2.8畅享海量免费歌曲

洛雪音乐助手是一款功能全面且完全免费的开源音乐软件,支持在Windows、Android和iOS平台上使用。 平台支持: 桌面版:采用Electron Vue技术栈开发,支持Windows 7及以上版本、Mac OS和Linux,具有广泛的用户群体覆盖。 …

CCAA:认证通用基础(合格评定技术的概念)

4合格评定技术的概念 4.1合格评定工具箱的基本概念 1.1合格评定工具箱的由来和内容: 合格评定工具箱“是由国际标准化组织合格评定委员会(ISO/CASCO)制定的一系列有关合格评定的国际标准和文件。这些国际标准和文件为开展合格评定活动提供了规范性的可操作的工具&…

github基础使用

前言 将用到的github指令记录下来,持续更新,方便随时查找学习。 一、github用到的指令 1、我们从github克隆下来的代码版本一般都是master主分支,我们要建立自己的分支进行修改: //git branch //查看目前的分支/* * master /…