首页 > 编程 > Python > 正文

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

2020-01-04 17:21:36
字体:
来源:转载
供稿:网友

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

# Filename:visitweb_threads.py# Description:python visit web, get startTime, endTime, everytimes spentTime,threadingimport threadingimport urllibimport timeimport datetimeprint '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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表