Есть ли способ получить IPaddress всех веб-сайтов в мире в TXT-файл, используя Python - PullRequest
0 голосов
/ 12 марта 2019

Я написал программу на python для проверки связи с сайтом, используя его ipaddress, чтобы проверить, жив он или нет.Программа отлично работает в режиме онлайн, получив IP-адрес веб-сайта и обработав его для дальнейшего анализа.

Вот пример кода:

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)

Но в автономном режиме код не может получить IP-адресдля дальнейшей обработки.Поэтому вместо того, чтобы получать ipaddress из Интернета, я хочу сделать его доступным в автономном режиме.Поэтому мне нужно знать, что есть способ получить ipaddresses всех веб-сайтов в текстовом файле.

Когда я подключен к сети, я могу получить IP-адрес любого веб-сайта, используя мою программу на python или выполняя поиск в Google.Но в оффлайне это невозможно.Поэтому я делаю еще одну программу на Python, чтобы получить IP-адреса всех веб-сайтов и сохранить их в текстовом файле, чтобы сделать его доступным для работы в автономном режиме.Это возможно??Есть ли какая-нибудь библиотека на питоне, состоящая из всех ipaddresses сайтов.Я искал в Google, но не могу найти.Любые решения, пожалуйста ...

1 Ответ

1 голос
/ 12 марта 2019

Нет, я не думаю, что в Python есть библиотека, которая содержит IP-адреса всех веб-сайтов в Интернете.Вам придется вручную составить список веб-сайтов, которые вы хотите протестировать.

websites = ["www.yahoo.com", "www.google.com"]
with open("ips.txt", "w+") as fh:
    for i in websites:
        fh.write(gethostbyname(i)+"\n")

Позже вы можете прочитать IP-адреса из этого файла и проверить подключение.

Далее простой поиск показывает, чтоЕсть почти 200 миллионов сайтов, не говоря уже о общем количестве сайтов, которое составляет более 1 миллиарда.Таким образом, даже если у вас есть файл, содержащий IP-адреса, скажем, 100 миллионов веб-сайтов, представьте, сколько времени потребуется для перебора или поиска такого большого файла !!

...