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

Python3使用python-whois批量查询域名仅最后一条返回其余为NULL问题问询

问题根源

  • 你使用readlines()读取文件行时,除最后一行外,其余每一行末尾都会自带换行符\n,传入whois.whois()的域名实际附带了无效的换行后缀,无法被正确识别,因此返回空结果。
  • 部分场景下还可能存在域名前后有多余空格、制表符的问题,也会导致查询失败。

修复方案

只需要在读取每行内容后调用strip()方法,去除首尾的空白字符(包含换行符、空格、制表符)即可,修正后的核心代码如下:

import whois
import os

with open("dominios.txt", "r") as archivo:
    for linea in archivo.readlines():
        # 去除首尾空白字符
        dominio_consulta = linea.strip()
        # 额外加一层非空判断,跳过空行避免无效查询
        if not dominio_consulta:
            continue
        w = whois.whois(dominio_consulta)
        registrador = 'PDR Ltd. d/b/a PublicDomainRegistry.com'
        whoiSer = 'whois.publicdomainregistry.com'

        serverWhois = w.whois_server
        expiracion = w.expiration_date
        creacion = w.creation_date
        dominio = w.name
        destFile = r"act.txt"
        print(str(w))
        # with open(destFile, 'a') as f:
        #     f.write(str(w)+"\n")

额外优化建议

  • 你代码中重复赋值serverWhois的语句属于冗余代码,可以删除不影响运行。
  • 可以添加异常捕获逻辑,避免个别域名查询失败导致整个脚本终止运行。
  • 可以增加查询间隔,避免短时间内查询量过大被whois服务器限制IP访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:36:04