链家网爬虫同步VS异步执行时间对比
时间:2019-10-20
本文章向大家介绍链家网爬虫同步VS异步执行时间对比,主要包括链家网爬虫同步VS异步执行时间对比使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
异步执行时间
import time import asyncio import aiohttp from lxml import etree start_time = time.time() async def get_url(url): session = aiohttp.ClientSession() response = await session.get(url) result = await response.text() terr = etree.HTML(result) ret = terr.xpath('//*[@id="content"]/div[1]/ul/li') for li in ret: title = li.xpath('.//div[@class="title"]//text()') print(title) async def get_html(): result = await get_url(url) print(result) if __name__ == '__main__': url = "https://sz.lianjia.com/ershoufang/pg{}" tasks = [asyncio.ensure_future(get_url(url.format(rl))) for rl in range(1,30)] # 创建task对象 loop = asyncio.get_event_loop() # 创建事件循环对象 loop.run_until_complete(asyncio.wait(tasks)) # 将所有task对象注册到事件循环对象中 end_time = time.time() print("执行时间{}".format(end_time - start_time)) # 执行时间6.241659641265869
同步执行时间
import time import requests from lxml import etree headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36' } start_time = time.time() def get_url(): url = "https://sz.lianjia.com/ershoufang/pg{}" for i in range(1,30): urli = url.format(i) result = requests.get(urli, headers=headers).text terr = etree.HTML(result) ret = terr.xpath('//*[@id="content"]/div[1]/ul/li') for li in ret: title = li.xpath('.//div[@class="title"]//text()') print(title) get_url() end_time = time.time() print("执行时间{}".format(end_time - start_time)) # 执行时间82.57950687408447
原文地址:https://www.cnblogs.com/songzhixue/p/11706736.html
- React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)
- SDIBT 1046 Primary Arithmetic
- React多页面应用4(webpack自动化生成多入口页面)
- 第二周神经网络基础2.1 二分分类2.2 logistic回归2.3 logistic 回归损失函数2.4 梯度下降2.5 导数2.14 向量化logistic 回归的输出2.15 Python中的广
- 1031 SDIBT Where's Waldorf?
- poj 2469 Stack 'em Up
- React多页面应用3(webpack性能提升,包括打包性能、提取公共包等)
- POJ 2646 The Trip
- React多页面应用2(处理CSS及图片,引入postCSS,及图片处理等)
- 图的广度优先搜索和深度优先搜索(邻接链表表示)邻接链表广度优先搜索深度优先搜索运行结果
- JOJ 2680 Problem F: Coin Game
- React多页面应用1(webpack开发环境搭建,包括Babel、热更新等)
- JOJ 2676 Problem B
- React项目配置2(自己封装Ajax)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法