Python实现多并发访问网站功能示例
作者:微烟波 发布时间:2022-12-16 11:42:47
标签:Python,并发,访问
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 如何要恢复Master数据库呢?方法1:重装SQL,但是数据就Over掉了方法2:重建Master Rebuildm.exe 用到SQL的安
- ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调
- setup.py:#!/usr/bin/env python# coding=utf-8from distutils.core import
- 说实话,第一次写这么长的Python代码,期间遇到了很多问题,但是,最终还是完成了,花了我一天半的时间。该程序实现了用户的增,删,改,查,主
- 界面设计页面引用了youzan组件进行设计,包括icon,button,tag,toast以及布局github地址:https://gith
- 一、框架菜单1.1 common模块1.2 其他二、Excel接口测试案例编写三、读取Excel测试封装(核心封装)excel_utils.
- 安装环境:CentOS7 64位,MySQL5.71、配置YUM源在MySQL官网中下载YUM源rpm安装包:http://dev.mysq
- 这是官方截图,mysql5.7安装后,会有一个默认密码,保存在mysql.log里面,找的他,并更改官方文档地址https://dev.my
- 代码:__Author__ = "Shliang"__Email__ = "shliang0603@gmail
- substr 定义和用法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 语法 stringObject.
- 一、常量常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为
- 在学习vue的时候,遇到很多问题,这里做一些总结,持续更新。今天说一个问题,就是在学习vue的时候,从之前的1.0版本升级到2.x的时候,遇
- 在日常的前端开发工作中,我们会经常的与HTML、javascript、css等语言打交道,和一门真正的语言一样,计算机语言也有它的字母表、语
- 1. 效果图自己画一张图,原图 VS 骨架效果图如下:opencv logo原图 VS 骨架化效果图如下:2. 源码# 图像骨架化~impo
- 一、顺序查找算法顺序查找又称为线性查找,是最简单的查找算法。这种算法就是按照数据的顺序一项一项逐个查找,所以不管数据顺序如何,都得从头到尾地
- 现在用MSSQL的地方太多了,有很多做技术的个人电脑上也安装SQL专业版,因为它用的多,但用的人都知道,SQL有个超级用户sa,此用户默认情
- 引言承接上篇 parseHTML 函数源码解析拿到返回值后的处理接下来我们将会讲解当 textEnd === 0 解析器遇到结束标签,par
- ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。主要分为三部:配置数据源 -> Conf
- 今年五一放了四天假,很多人不再只是选择周边游,因为时间充裕,选择了稍微远一点的景区,甚至出国游。各个景点成了人山人海,拥挤的人群,甚至去卫生
- 我们在进行表单设计时,可能要用到select下拉选项控件,遗憾的是,IE浏览器默认的select控件外观非常丑陋,而且不能用样式来控制,不能