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

如何让Python逐行读取URL后缀并检测网站错误?

解决Python网站数据错误检测脚本的问题

你的原脚本存在几个关键问题:

  • with open后的for循环缺少冒号,存在语法错误
  • 函数里直接使用文件对象numbers拼接URL,而非每行的后缀内容
  • 未处理每行的换行符,会导致URL格式错误
  • 未定义核心的checkErr检测函数,也没有调用业务逻辑函数

以下是修正并完善后的完整脚本:

import requests

def checkErr(url):
    # 实现错误检测逻辑,示例包含HTTP状态码和页面内容异常检测
    try:
        response = requests.get(url, timeout=10)
        # 检查HTTP状态码是否正常
        if response.status_code != 200:
            return f"❌ 错误: HTTP状态码 {response.status_code} | URL: {url}"
        # 可根据需求添加自定义内容检测,比如检查页面是否包含错误标识
        if "Error" in response.text or "404" in response.text:
            return f"❌ 错误: 页面内容异常 | URL: {url}"
        return f"✅ 正常 | URL: {url}"
    except requests.exceptions.RequestException as e:
        return f"⚠️ 请求失败: {str(e)} | URL: {url}"

def main():
    # 读取txt文件中的URL后缀
    with open('numbers.txt', 'r', encoding='utf-8') as numbers:
        for index, line in enumerate(numbers, start=1):
            # 去除每行的换行符和前后空白字符
            suffix = line.strip()
            if not suffix:  # 跳过空行
                continue
            url = f"http://www.url.com/{suffix}"
            print(f"正在处理第 {index} 个地址: {url}")
            result = checkErr(url)
            print(result)
            print("-" * 50)  # 分隔线,优化结果可读性

if __name__ == "__main__":
    main()

关键修正点说明:

  • 添加requests库依赖(需先执行pip install requests安装),用于发送HTTP请求
  • 实现checkErr函数,包含异常捕获、状态码检测和内容错误判断,可根据实际需求修改检测逻辑
  • 使用strip()处理每行内容,避免换行符导致的URL格式错误
  • 用main函数整合业务逻辑,通过if __name__ == "__main__"触发执行
  • 添加空行判断,避免处理无效空内容
  • 增加索引和分隔线,让输出结果更清晰

使用说明:

  1. 执行pip install requests安装依赖库
  2. 将numbers.txt放在脚本同目录下,确保每行一个URL后缀
  3. 运行脚本,即可依次检测每个拼接后的URL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:30:58