python多线程访问某个网站简单案例

环境:python3

目的:多线程访问百度,测试网站抗压能力

# 环境python3
import requests
import threading

class myThread(threading.Thread):
    def __init__(self,name):
        threading.Thread.__init__(self)
        self.name = name
    def run(self):
        print("Starting " + self.name)
        while True:
            try:
                crawler(self.name)
            except:
                break
        print("Exiting " + self.name)

# 定义功能函数,访问固定url地址
def crawler(threadName):
    url = "http://www.baidu.com"
    try:
        r = requests.get(url,timeout = 20)
        # 打印线程名和响应码
        print(threadName,r.status_code)
    except Exception as e:
        print(threadName,"Error: ",e)

# 创建线程列表
threads = []

# 开启10个线程
for i in range(10):
    # 给每个线程命名
    tName="Thread-"+str(i)
    thread=myThread(tName)
    thread.start()
    # 将线程添加到线程列表
    threads.append(thread)
    
#等待所有线程完成
for t in threads:
    t.join()

运行效果:

python多线程访问某个网站简单案例_第1张图片

提示:这串代码是死循环,会不停的访问该url,需要手动结束运行!

你可能感兴趣的:(爬虫)