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


Posted in Python onJune 19, 2017

本文实例讲述了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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
python实现RSA加密(解密)算法
Feb 17 Python
python正则表达式面试题解答
Apr 28 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
Python 监测文件是否更新的方法
Jun 10 Python
如何基于python实现画不同品种的樱花树
Jan 03 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
详解Python 中的容器 collections
Aug 17 Python
python如何随机生成高强度密码
Aug 19 Python
Python sqlite3事务处理方法实例分析
Jun 19 #Python
Python之str操作方法(详解)
Jun 19 #Python
python urllib爬取百度云连接的实例代码
Jun 19 #Python
Python的IDEL增加清屏功能实例
Jun 19 #Python
利用python爬取散文网的文章实例教程
Jun 18 #Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 #Python
python实现各进制转换的总结大全
Jun 18 #Python
You might like
PHP 开源AJAX框架14种
2009/08/24 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
js实现文字截断功能
2016/09/14 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
py2exe 编译ico图标的代码
2013/03/08 Python
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python Requests库基本用法示例
2018/08/20 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
企业管理培训感言
2014/01/27 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
感谢信的格式
2015/01/21 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js