您好,登录后才能下订单哦!
请求超时!
请点击 重新获取二维码如何大幅度提高requests的访问速度,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
我做了一个垃圾信息过滤的 HTTP 接口。现在有一千万条消息需要经过这个接口进行垃圾检测。
一开始我的代码是这样的:
import requests
messages = ['第一条', '第二条', '第三条']
for message in messages:
resp = requests.post(url, json={'msg': message}).json()
if resp['trash']:
print('是垃圾消息')
我们写一段代码来看看运行速度:
访问一百次百度,竟然需要 20 秒。那我有一千万条信息,这个时间太长了。
有没有什么加速的办法呢?除了我们之前文章讲到的 多线程、aiohttp 或者干脆用 Scrapy 外,还可以让 requests 保持连接从而减少频繁进行 TCP 三次握手的时间消耗。
那么要如何让 requests 保持连接呢?实际上非常简单,使用Session
对象即可。
修改后的代码:
import requests
import time
start = time.time()
session = requests.Session()
for _ in range(100):
resp = session.get('https://baidu.com').content.decode()
end = time.time()
print(f'访问一百次网页,耗时:{end - start}')
运行效果如下图所示:
性能得到了显著提升。访问 100 页只需要 5 秒钟。
在官方文档[1]中,requests 也说到了 Session
对象能够保持连接:
The Session object allows you to persist certain parameters across requests. It also persists cookies across all requests made from the Session instance, and will use urllib3’s connection pooling. So if you’re making several requests to the same host, the underlying TCP connection will be reused, which can result in a significant performance increase (see HTTP persistent connection).
”
Excellent news — thanks to urllib3, keep-alive is 100% automatic within a session! Any requests that you make within a session will automatically reuse the appropriate connection!
”
看完上述内容,你们掌握如何大幅度提高requests的访问速度的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
深圳SEO优化公司青岛网站搜索优化报价荆州外贸网站制作报价海口网站建设公司赣州百搜标王公司濮阳英文网站建设价格文山网站优化按天扣费公司嘉兴网站推广系统推荐永湖SEO按天扣费公司六安企业网站改版价格鞍山seo网站优化推荐宝鸡网站优化推广海北模板推广多少钱张北网站制作设计报价伊犁网站推广价格毕节推广网站多少钱甘南网站优化哪家好长沙模板推广娄底百度关键词包年推广多少钱崇左seo排名哪家好扬州网站改版推荐朔州至尊标王价格汕头百度关键词包年推广多少钱伊犁营销网站多少钱绍兴网站搭建多少钱梅州关键词按天扣费价格成都高端网站设计多少钱黄冈网站优化软件价格朔州百度爱采购沧州网站制作设计推荐六安关键词排名歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运