时间:2021-05-22
单线程+多任务异步协程
在函数(特殊函数)定义的时候,使用async修饰,函数调用后,内部语句不会立即执行,而是会返回一个协程对象
任务对象=高级的协程对象(进一步封装)=特殊的函数
任务对象必须要注册到时间循环对象中
给任务对象绑定回调:爬虫的数据解析中
当做是一个装载任务对象的容器
当启动事件循环对象的时候,存储在内的任务对象会异步执行
time.sleep -- asyncio.sleep
requests -- aiohttp
requests模块+线程池
import timeimport requestsfrom multiprocessing.dummy import Poolstart = time.time()urls = [ 'http://127.0.0.1:5000/bobo', 'http://127.0.0.1:5000/jay', 'http://127.0.0.1:5000/tom',]def get_request(url): page_text = requests.get(url=url).text print(page_text) return page_textpool = Pool(3)pool.map(get_request, urls)end = time.time()print('总耗时:', end-start)# 实现异步请求# hello jay!# hello bobo!# hello tom!# 总耗时: 2.0467123985290527小结
aiohttp模块+单线程多任务异步协程
requests模块+线程池
requests
urllib
aiohttp
以上就是python如何提升爬虫效率的详细内容,更多关于python提升爬虫效率的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在之前写过一篇使用python爬虫爬取电影天堂资源的文章,重点是如何解析页面和提高爬虫的效率。由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验
这几天正好有需求实现一个爬虫程序,想到爬虫程序立马就想到了python,python相关的爬虫资料好像也特别多。于是就决定用python来实现爬虫程序了,正好发
概述很多人接触Python,都是从爬虫开始,其实很多语言都可以做爬虫,只是Python相对其他语言来说,更加简单而已。但是Python并不止于爬虫,在人工智能,
上篇文章给大家介绍了Python爬虫实现百度翻译功能过程详解Python爬虫学习之翻译小程序感兴趣的朋友点击查看。今天给大家介绍Python爬虫制作翻译程序的方
Python爬虫之超链接url中含有中文出错及解决办法python3.5爬虫错误:UnicodeEncodeError:'ascii'codeccan'tenc