Есть ли более быстрый способ проверки каждой строки в конце сайта? - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь перебором сайта моего друга и хотел узнать самый быстрый способ проверить каждую возможность. Его сайт заканчивается строкой из восьми символов (например, 1_c2F3c $). Я делаю это прямо сейчас с помощью вложенных циклов for, но это займет слишком много времени. Есть ли какой-нибудь более быстрый способ?

Редактировать:

import urllib.request
char = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.', ',', '<', '>', '?', '/', ';', ':', '[', ']', '{', '}', '|', '`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '-', '+', '=', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
for a in char:
    for b in char:
        for c in char:
            for d in char:
                for e in char:
                    for f in char:
                        for g in char:
                            for h in char:
                                try:
                                    urllib.request.urlopen("https://galacticacid.wixsite.com/{}".format(a+b+c+d+e+f+g+h).getcode())
                                    print(a+b+c+d+e+f+g+h)
                                except:
                                    pass

Это займет около 208 лет для вычисления (потому что каждая ошибка почти не занимает времени).

1 Ответ

0 голосов
/ 09 января 2020

Вы пробовали

timeit как в: например,

% timeit data_rec . age

1000000 циклов, лучше всего 3: 241 нс на цикл 100000 циклов, лучше всего 3: 4,61 мкс на цикл 100000 циклов лучшее из 3: 7,27 мкс на л oop

Например, мы можем вычислить тот же результат через pd.eval, создав выражение в виде строки: In

[ 8 ]:     % timeit pd . eval ( 'df1 + df2 + df3 + df4' ) 
            10 loops, best of 3:       42.2 ms per loop 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...