就是简单的搭建了一个线程抓取框架,内容可以自行补充
# -*- encoding: utf-8 -*-
# 导包
import threading
import requests
import time
# 定义线程容器
threads = []
# 定义计时器方法
def get_time():
ms = time.ctime()
# 返回当前时间
return ms
# 定义抓取方法
def get_content(url):
r = requests.get(url)
# 打印状态码
print(r.status_code)
# 定义多线程
for i in range(20):
mythread = threading.Thread(target=get_content,args=('https://www.pearvideo.com',))
threads.append(mythread)
if __name__ == "__main__":
# 启动之前的时间
print(f'开始于:{get_time()}')
# 同步请求
# for i in range(20):
# get_content('https://www.pearvideo.com')
# 开始异步利用多线程 定义线程
for t in threads:
# 守护线程
t.setDaemon(True)
# 执行
t.start()
# 打印每一个线程的执行时间
print(f'这一个线程执行到:{get_time()}')
# 阻塞一下主线程
t.join()
# 结束时间
print(f'结束于:{get_time()}')
就是实现了一下多线程的实现方法。不喜轻喷