python - 这个用于 linux 的 python 脚本的 Windows 替代方案,用于从 URL 获取 IP

标签 python linux

我对 Python 很陌生。所以在 newboston 最新的 python 教程中,我正在制作一个网络爬虫。但是,此 Python 脚本仅适用于 Linux。以下代码的 Windows 替代方案是什么?

import os

def get_ip_address(url):
  command = "host " + url     
  process = os.popen(command)
  results = str(process.read())
  marker = results.find('has address') + 12
  return results[marker:].splitlines()[0]

print(get_ip_address('google.com'))

我希望它采用与我想编写多个模块(即获取 ip、谁是等)相同的格式并将它们组合成一个 Python 程序。

我试图只获取 IP 地址,结果中没有其他内容。

或者,这就是我目前在 Windows 上所拥有的:
import socket

def get_ips_for_host(url):
    try:
        ips = socket.gethostbyname_ex(url)
    except socket.gaierror:
        ips = []
    return ips

ips = get_ips_for_host('www.facebook.com')
print(repr(ips))

如何修改它以使其仅获取 IP 地址?

Similarly how can I get the nmap scan and the 'who is'?

最佳答案

the_ip = get_ips_for_host('www.facebook.com')[-1][0]

关于python - 这个用于 linux 的 python 脚本的 Windows 替代方案,用于从 URL 获取 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33489786/

相关文章:

python - 无需显式导入即可访问包中的模块/对象

python - 我可以将 ssh/scp 与存储在数据库中的私钥一起使用吗?

python - python中的md5输出不同于命令行(即使在二进制模式下)

linux - 未提供显式端口选项时出现 Perforce 客户端 (p4) 错误

c - 测试共享内存,奇怪的事情发生了

linux - std::string::assign() method from libstdc++.so.6中奇怪的SIGSEGV段错误

python - Python:更新集中的对象

python - Pandas :根据其他列的值有条件地替换值

linux - 如何在 Linux 中运行 Visual Studio 代码

c++ - 从 Linux Makefile 打开终端