python 实现批量域名转IP

前言

python里有一个模块,叫socket,提供了BSD socket 的通信接口,gethostbyname 返回的是主机名的IPv4 的地址格式,如果传入的参数是IPv4 的地址格式,则返回值跟参数一样,这个函数不支持IPv6 的域名解析。

实现过程

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

from socket import gethostbyname
DOMAIN = "./domain.txt"

with open(DOMAIN,'r') as f:
     for line in f.readlines():
        try:
            host = gethostbyname(line.strip('\n'))  #域名反解析得到的IP
        except Exception as e:
            with open('error.txt','a+') as ERR:  #error.txt为没有IP绑定的域名
                ERR.write(line.strip()+ '\n')
        else:
            with open('result.xlsx','a+') as r: #  ****.txt 里面存储的是批量解析后的结果
                r.write(line.strip('\n') + ' ')   #显示有ip绑定的域名,用空格隔开
                print(line, host)
                r.write(host + '\n')
                if host != "192.168.3.2":   #筛选特定结果,具体代码实现如下
                    if host != "192.168.3.3":
                        with open('result.txt', 'a+') as f:
                        	f.write(line.strip() +'  ') #存储筛选后的域名
                            f.write(host + '\n') #存储筛选后的IP
                    else:
                        pass
                else:
                    pass

输出测试结果:

python 实现批量域名转IP_第1张图片

你可能感兴趣的:(基础编程)