Как узнать поставщика услуг хостинга от доменного имени? [закрытый]

import numpy as np

def alt(a, end, window, start=0, step=1):
    bin_starts = np.arange(start, end+1-window, step)
    bin_ends = bin_starts + window
    last_index = np.searchsorted(a, bin_ends, side='right')
    first_index = np.searchsorted(a, bin_starts, side='left')
    return  last_index - first_index

def sliding_count(a, end, window, start=0, step=1):
    bins = [(x, x + window) for x in range(start, (end + 1) - window, step)]
    counts = np.zeros(len(bins))
    for i, rng in enumerate(bins):
        count = len(a[np.where(np.logical_and(a>=rng[0], a<=rng[1]))])
        counts[i] = count
    return counts

a = np.array([1, 5, 8, 11, 14, 19])
end = 20
window = 10

print(sliding_count(a, end, window))
# [3. 4. 3. 3. 4. 4. 3. 3. 3. 3. 3.]

print(alt(a, end, window))
# [3 4 3 3 4 4 3 3 3 3 3]

Как работает alt:

Генерация начальных и конечных значений бинов:

In [73]: bin_starts = np.arange(start, end+1-window, step); bin_starts
Out[73]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

In [74]: bin_ends = bin_starts + window; bin_ends
Out[74]: array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])

Поскольку a в отсортированном порядке, вы можете использовать np.searchsorted найти первый и последний индекс в bin_starts и bin_ends, где подходит каждое значение в a:

In [75]: last_index = np.searchsorted(a, bin_ends, side='right'); last_index
Out[75]: array([3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6])

In [76]: first_index = np.searchsorted(a, bin_starts, side='left'); first_index
Out[76]: array([0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3])

count - это просто разница в индексах:

In [77]: last_index - first_index
Out[77]: array([3, 4, 3, 3, 4, 4, 3, 3, 3, 3, 3])

Вот перфплот , сравнивающий производительность alt с sliding_count как функцию длины a:

import perfplot

def make_array(N):
    a = np.random.randint(10, size=N)
    a = a.cumsum()
    return a

def using_sliding(a):
    return sliding_count(a, end, window)

def using_alt(a):
    return alt(a, end, window)

perfplot.show(
    setup=make_array,
    kernels=[using_sliding, using_alt],
    n_range=[2**k for k in range(22)],
    logx=True,
    logy=True,
    xlabel='len(a)')

enter image description here

Perfplot также проверяет, что значение, возвращаемое using_sliding, равно значению, возвращенному using_alt.

Идея Мэтта Тиммерманса , « вычесть position_in_a из подсчета для этого бина » привела в действие это решение.

9
задан kushin 21 December 2008 в 21:37
поделиться

2 ответа

Я перехожу к www.domaintools.com и ввожу доменное имя в поиске Whois.

Когда их запись Whois обнаружится, посмотрите на Сервер имен. Это говорит Вам, которые хостинговая компания, и как добавленная премия, также говорит Вам количество доменов в том хосте.

Я не знаю, есть ли у них какие-либо объемные сервисы все же. Мне только были нужны по одному поиски.

0
ответ дан 3 November 2019 в 00:05
поделиться

Если у Вас есть доступ к машине Linux, можно использовать jwhois на IP-адресе. Таким образом, необходимо было бы разрешить имя хоста к IP-адресу (который Вы могли сделать ping использования, если бы Вы хотели использовать сценарий оболочки), и затем jwhois IP-адрес, который будет (обычно) автоматически искать его в ARIN / APNIC / ГОТОВЫЙ как соответствующий. Это не на 100% точно, но это почти всегда работает.

С другой стороны, можно купить доступ к базе данных GeoIP.

2
ответ дан 3 November 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: