You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何复用单网站存活检测脚本批量检测表格中所有网站状态?

批量检测网站存活状态的复用方案

嘿,这个需求太贴合课堂作业的场景了!刚好我之前帮同学折腾过类似的事,给你几个能快速复用现有脚本的实用路子,不用重写核心检测逻辑:

方案1:用Python + Pandas(最省心的表格处理方式)

如果你有一点点Python基础,这个方案最快。核心思路是把你的检测逻辑封装成函数,然后用Pandas批量遍历表格里的网站,把结果写回去。

步骤:

  1. 封装现有检测脚本:把你写的宕机检测代码改成一个可调用的函数,比如check_website_live(url),返回True(存活)或False(宕机)。
  2. 读取+处理表格:用Pandas读取你的表格文件(CSV/Excel都支持),调用函数批量生成状态,再保存结果。

代码示例:

import pandas as pd

# 把你现有的检测逻辑放到这个函数里
def check_website_live(url):
    # 这里替换成你自己的检测代码,比如用requests发请求
    try:
        import requests
        # 设置超时时间,避免卡壳
        response = requests.get(url, timeout=5)
        # 这里可以根据需求调整判断逻辑,比如只要不是4xx/5xx就算存活
        return response.status_code in range(200, 400)
    except Exception as e:
        # 任何异常都算宕机(比如连接超时、域名不存在)
        return False

# 读取表格(Excel的话用pd.read_excel("websites.xlsx"))
df = pd.read_csv("websites.csv")

# 批量处理每一行的网站,生成状态
df["Is it live"] = df["Website"].apply(
    lambda url: "Live" if check_website_live(url) else "Down"
)

# 保存结果到新表格(避免覆盖原文件)
df.to_csv("websites_with_status.csv", index=False)

方案2:纯基础Python处理(不用装额外库)

如果不想装Pandas这种第三方库,用Python自带的csv模块也能搞定,适合纯新手:

代码示例:

import csv
from urllib.request import urlopen
from urllib.error import URLError, HTTPError

# 同样封装你的检测逻辑
def check_website_live(url):
    try:
        # 用自带库发请求,设置超时
        with urlopen(url, timeout=5) as response:
            # 状态码200-399算存活
            return 200 <= response.getcode() < 400
    except (URLError, HTTPError, TimeoutError):
        return False

# 输入输出文件路径
input_csv = "websites.csv"
output_csv = "websites_status.csv"

# 读取原表格,写入结果表格
with open(input_csv, 'r', newline='') as infile, open(output_csv, 'w', newline='') as outfile:
    reader = csv.DictReader(infile)
    writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames)
    
    # 写入表头
    writer.writeheader()
    
    # 遍历每一行网站
    for row in reader:
        website_url = row["Website"]
        # 调用检测函数,填充状态
        row["Is it live"] = "Live" if check_website_live(website_url) else "Down"
        writer.writerow(row)

几个实用小提醒:

  • 超时设置一定要加:不然遇到响应慢的网站,整个脚本会卡住好久。
  • 测试先小范围跑:先拿3-5个网站测试你的检测函数是否正常,再批量处理所有数据。
  • 如果是Excel文件:用Pandas的话需要装openpyxl库(执行pip install openpyxl),然后用pd.read_excel()和df.to_excel()就行。
  • 避免被封IP:课堂作业的网站数量一般不多,要是数量大的话,可以在每次检测之间加个小延迟(比如time.sleep(1)),别太频繁请求。

内容的提问来源于stack exchange,提问作者Berglund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:02:01