Python实现多并发访问网站功能示例
本文实例讲述了Python实现多并发访问网站功能。分享给大家供大家参考,具体如下:
#Filename:visitweb_threads.py
#Description:pythonvisitweb,getstartTime,endTime,everytimesspentTime,threading
importthreading
importurllib
importtime
importdatetime
print'numwebSpentTime'
defProcess(url,n):
minSpan=0.0
maxSpan=0.0
sumSpan=0.0
over1s=0
file=open('data.txt','a')#saveData
foriinrange(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
ifspanmaxSpan:
maxSpan=span
ifspan>1:
over1s=over1s+1
print(u'%4d%sSpent:%7sseconds'%(i,url,span))
file.write(u'%4d%sST:%sET:%sSpent:%sseconds\n'%(i,url,startTime,endTime,span))
file.write('\n')
print(u'\nrequested:%stimes\nTotalSpent:%sseconds\navg:%sseconds\nmax:%sseconds\nmin:%sseconds\nover1secnod:%stimes\n'%(n,sumSpan,sumSpan/n,maxSpan,minSpan,over1s))
file.write(u'requested:%stimes\nTotalSpent:%sseconds\navg:%sseconds\nmax:%sseconds\nmin:%sseconds\nover1secnod:%stimes\n'%(n,sumSpan,sumSpan/n,maxSpan,minSpan,over1s))
file.close()
classThreadClass(threading.Thread):
defrun(self):
now=datetime.datetime.now()
print"%ssaysHelloWorldattime:%s"%(self.getName(),now)
file=open('threads_data.txt','a')#savethreads_data
file.write("%ssaysHelloWorldattime:%s\n"%(self.getName(),now))
Process('http://222.20.6.184/main.aspx',10)#visitwebsite网站的Url和每个进程的访问次数
now=datetime.datetime.now()
print"%ssaysGoodbyeattime:%s"%(self.getName(),now)
file.write("%ssaysGoodbyeattime:%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()
foriinrange(1000):#多少次同时并发访问
t=ThreadClass()
t.start()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python进程与线程操作技巧总结》、《PythonSocket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。