我写了一个python程序,使用网站的it地址来ping网站,以检查它是否处于活动状态。该程序通过获取网站的it地址并对其进行处理以进行进一步分析,在网上运行得很好。
以下是示例代码:
def ip_address_web(hosts,port):
alladdr = list(set(map(lambda x: x[4],socket.getaddrinfo(hosts,port))))
global IPV4A, IPV6A, ip6array
ip4array = []
ip4 = filter(lambda x: '.' in x[0],alladdr)
for addr4 in ip4:
ip4 = addr4
ipv4a = addr4[0]
ip4 = ipaddress.ip_address(ipv4a)
print(ip4.version)
ip4array.append(ipv4a)
print(ip4array)
IPV4A = ip4array[0]
try:
print("ip6 check")
ip6 = filter(lambda x: ':' in x[0],alladdr)
ip6array = []
for addr6 in ip6:
ip6 = addr6
ipv6a = addr6[0]
ip6 = ipaddress.ip_address(ipv6a)
ip6array.append(ipv6a)
print(ip6array)
IPV6A = ip6array[0]
except:
IPV6A = []
print("ipv6a:",IPV6A)
print("No IPv6 address")
hosts = "www.google.com"
port = 80
ip_address_web(hosts,port)但在脱机状态下,代码无法获取ipaddress以进行进一步处理。因此,我不想从网上获取ipaddress,而是想让它离线可用。所以我需要知道是否有一种方法可以在txt文件中获得所有网站的in地址。
当我连接到网上时,我可以通过使用我的python程序或在Google上搜索来获得任何网站的I地址。但在离线情况下,这是不可能的。因此,我正在编写另一个python程序来获取所有网站的I地址,并将其存储在一个txt文件中,以便脱机使用。这可能吗??在python中有没有包含所有网站in地址的库?我在谷歌上搜索了一下,但是找不到。请提供任何解决方案。
发布于 2019-03-12 17:55:08
不,我不认为有一个python库包含互联网上所有网站的I。您必须手动构建要测试的网站列表。
websites = ["www.yahoo.com", "www.google.com"]
with open("ips.txt", "w+") as fh:
for i in websites:
fh.write(gethostbyname(i)+"\n")稍后,您可以从此文件中读取IP并测试您的连通性。
进一步的简单搜索显示,有近2亿个活跃的网站,更不用说超过10亿的网站总数了。因此,即使你有一个包含1亿个网站的IP的文件,想象一下迭代或查找这么大的文件需要多少时间!
https://stackoverflow.com/questions/55118352
复制相似问题