Python实现多并发访问网站功能示例

发布时间 - 2026-01-11 01:56:56    点击率:

本文实例讲述了Python实现多并发访问网站功能。分享给大家供大家参考,具体如下:

# Filename:visitweb_threads.py
# Description:python visit web, get startTime, endTime, everytimes spentTime,threading
import threading
import urllib
import time
import datetime
print 'num    web       SpentTime'
def Process(url,n):
  minSpan = 0.0
  maxSpan = 0.0
  sumSpan= 0.0
  over1s = 0
  file = open('data.txt','a') # save Data
  for i in range(n):
    startTime =datetime.datetime.now()
    try:
      urlItem = urllib.urlopen(url)
      htmSource = urlItem.read()
      urlItem.close()
    except:
      pass
    endTime = datetime.datetime.now()
    span = (endTime-startTime).total_seconds()
    sumSpan = sumSpan + span
    if span < minSpan:
      minSpan = span
    if span > maxSpan:
      maxSpan = span
    if span>1:
      over1s=over1s + 1
    print(u'%4d %s Spent:%7s seconds'%(i,url,span))
    file.write(u'%4d %s ST:%s ET:%s Spent :%s seconds\n'%(i,url,startTime,endTime,span))
  file.write('\n')
  print(u'\n requested:%s times\n Total Spent:%s seconds\n avg:%s seconds\n max:%s seconds\n min:%s seconds\n over 1 secnod:%s times\n'%(n,sumSpan,sumSpan/n,maxSpan,minSpan,over1s))
  file.write(u' requested:%s times\n Total Spent:%s seconds\n avg:%s seconds\n max:%s seconds\n min:%s seconds\n over 1 secnod:%s times\n'%(n,sumSpan,sumSpan/n,maxSpan,minSpan,over1s))
  file.close()
class ThreadClass(threading.Thread):
  def run(self):
    now = datetime.datetime.now()
    print "%s says Hello World at time: %s" % (self.getName(), now)
    file = open('threads_data.txt','a') # save threads_data
    file.write( "%s says Hello World at time: %s\n" % (self.getName(), now))
    Process('http://222.20.6.184/main.aspx',10) # visit website 网站的Url和每个进程的访问次数
    now = datetime.datetime.now()
    print "%s says Goodbye at time: %s" % (self.getName(), now)
    file.write( "%s says Goodbye at time: %s\n" % (self.getName(), now))
    file.close()
if __name__=='__main__':
#  file = open('threads_data.txt','w')
#  file.close()
#  file = open('data.txt','w')
#  file.close()
  for i in range(1000): # 多少次同时并发访问
    t = ThreadClass()
    t.start()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python进程与线程操作技巧总结》、《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 多并发  # 访问  # 网站  # python基于gevent实现并发下载器代码实例  # python实现可以断点续传和并发的ftp程序  # Python多进程并发(multiprocessing)用法实例详解  # Python控制多进程与多线程并发数总结  # python实现多线程的方式及多条命令并发执行  # python并发编程之多进程、多线程、异步和协程详解  # python监控网站运行异常并发送邮件的方法  # 实例探究Python以并发方式编写高性能端口扫描器的方法  # Python socket实现的文件下载器功能示例  # python使用urllib模块开发的多线程豆瓣小站mp3下载器  # python 并发下载器实现方法示例  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 编程技巧  # 讲述了  # Process  # def  # minSpan  # url  # SpentTime  # datetime  # time  # num 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 浅谈redis在项目中的应用  Laravel怎么实现模型属性的自动加密  WEB开发之注册页面验证码倒计时代码的实现  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  中山网站推广排名,中山信息港登录入口?  nodejs redis 发布订阅机制封装实现方法及实例代码  详解MySQL数据库的安装与密码配置  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  音乐网站服务器如何优化API响应速度?  如何获取上海专业网站定制建站电话?  Laravel如何发送系统通知?(Notification渠道示例)  如何在宝塔面板中创建新站点?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  如何快速查询域名建站关键信息?  JavaScript模板引擎Template.js使用详解  如何打造高效商业网站?建站目的决定转化率  如何在搬瓦工VPS快速搭建网站?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Swift中循环语句中的转移语句 break 和 continue  独立制作一个网站多少钱,建立网站需要花多少钱?  浅谈javascript alert和confirm的美化  高防服务器租用首荐平台,企业级优惠套餐快速部署  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel如何创建自定义中间件?(Middleware代码示例)  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  晋江文学城电脑版官网 晋江文学城网页版直接进入  Android实现代码画虚线边框背景效果  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  深圳网站制作平台,深圳市做网站好的公司有哪些?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  linux写shell需要注意的问题(必看)  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何生成腾讯云建站专用兑换码?  如何在云服务器上快速搭建个人网站?  如何挑选优质建站一级代理提升网站排名?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何快速建站并高效导出源代码?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】