当前位置: 首页 > news >正文

自己怎么做装修网站国内html5网站欣赏

自己怎么做装修网站,国内html5网站欣赏,华为官方商城网上商城,百度官网建设requests & grequests requests 和 grequests 是Python中用于发送HTTP请求的不同库。requests 是一个同步、阻塞式库,而 grequests 是基于 requests 封装的异步非阻塞库,它利用了 gevent 库提供的协程机制,能够并发发送多个请求。 选择…

requests & grequests

requests 和 grequests 是Python中用于发送HTTP请求的不同库。requests 是一个同步、阻塞式库,而 grequests 是基于 requests 封装的异步非阻塞库,它利用了 gevent 库提供的协程机制,能够并发发送多个请求。

选择哪个库取决于你的需求:

当你只需要顺序发送少量请求,或者不关心请求之间并发性能的时候,requests 是一个很好的选择,因为它易于理解和使用。

当你需要并发处理大量HTTP请求,提高整体性能,尤其是网络IO密集型任务时,如爬虫抓取大量页面、API服务端并发请求下游服务等场景下,grequests 更合适。‍

单线程同步请求(使用requests)

 
  1. import requests

  2. urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]

  3. # 单线程同步请求

  4. responses = [requests.get(url) for url in urls]

  5. # 处理响应

  6. for response in responses:

  7. print(response.text)

多线程同步请求(使用requests配合threading)

 
  1. import requests

  2. import threading

  3. # 创建一个处理请求的函数

  4. def fetch_page(url):

  5. response = requests.get(url)

  6. return response.text

  7. urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]

  8. threads = []

  9. # 启动多线程请求

  10. for url in urls:

  11. thread = threading.Thread(target=fetch_page, args=(url,))

  12. threads.append(thread)

  13. thread.start()

  14. # 等待所有线程完成

  15. for thread in threads:

  16. thread.join()

  17. # 假设你有一个列表存储结果

  18. results = [result for result in thread_results]

异步并发请求(使用grequests)

 
  1. import grequests

  2. urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]

  3. # 异步并发请求

  4. rs = (grequests.get(url) for url in urls)

  5. responses = grequests.map(rs)

  6. # 处理响应

  7. for response in responses:

  8. print(response.text)

超时控制(grequests可以更方便地处理超时)

 
  1. import grequests

  2. # 对每个请求设置超时时间为5秒

  3. urls = [("https://example.com/page{}".format(i), {'timeout': 5}) for i in range(1, 4)]

  4. rs = (grequests.get(url, **kwargs) for url, kwargs in urls)

  5. responses = grequests.map(rs)

  6. for response in responses:

  7. if response is not None:

  8. print(response.text)

  9. else:

  10. print(f"Request timed out for {response.request.url}")

带异常处理的异步请求(grequests可以在一个循环中统一处理异常)

 
  1. import grequests

  2. urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]

  3. rs = [grequests.get(url) for url in urls]

  4. def handle_exception(request, exception):

  5. print(f"Error on URL {request.url}: {exception}")

  6. responses = grequests.map(rs, size=10, exception_handler=handle_exception)

  7. for response in responses:

  8. if response is not None:

  9. print(f"{response.request.url} - Response: {response.text}")

在最后这个例子中,grequests.map() 同时发送多个请求,当有请求发生异常时,通过自定义的 exception_handler 函数来处理异常,而不是让整个程序崩溃。同时,size 参数指定了最大并发数,有助于避免一次性发起过多请求导致服务器压力过大。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

http://www.yayakq.cn/news/565483/

相关文章:

  • 营销网站开发wordpress接入微信订阅号
  • 做的网站怎么让百度收录网站建设目的意义
  • 山西推广型网站开发做的好的淘宝客网站
  • 个人网站建设多少钱wordpress页面自定义页面跳转
  • 网站设计需要那些模块百度推广公司地址
  • 多种语言网站制作网站国际化
  • 网站怎么百度收录羽毛球赛事直播平台
  • 有没有网站做字体变形wordpress注册的时候发送邮件
  • 注册公司网站模板房地产市场现状分析2022
  • 深圳公司网站建设服务为先锐旗网站建设
  • 白种女人做爰网站wordpress缓存网站首页
  • 宝安中心地铁站是几号线提供做网站公司有哪些
  • 互联网技术网站网站自己制作
  • 网站功能模块表格网站建设公司河南郑州
  • 古田路9号设计网站影响网站打开速度
  • 在郑州网站建设网站建设和客户对接内容
  • 阜阳网站优化it运维平台
  • 福州网站制作培训都江堰旅游门户网站
  • 360检测网站开发语言的工具上海闵行有阳性了
  • 淘宝联盟 网站怎么做中天钢铁 网站建设
  • 网站开发的专业能力温州做网站设计
  • 坂田网站建设推广公司深圳本地网站建设
  • 做网站空间 阿里云官方网站模板
  • 表白网站怎样做有创意网站建设价格请咨询兴田德润
  • 牛天下网站做的怎么样西安seo优化排名
  • 上海建设安全生产协会网站湖北省建设厅建筑资料官方网站
  • 泗阳做网站公司网络推广外包公司一般在哪里招聘
  • icp网站备案seo公司哪家好
  • 如果建立网站个体户千万不能去注销
  • 网站备案 现场提交网站商城模板