@castleflightfun

Как «просканировать» сайт на картинки в директории?

Есть сайт, на нем залиты картинки (моего авторства).
Все они лежат в одной папке, по одному адресу:
Блабла.ком/Y5Gdp.jpg
Там везде 5 символов комбинаций цифр и букв.
Это 35^5 (52м) комбинаций. В целом не так много. В неделе 604800 секунд.
На гитхабе (и в мире вообще) определенно точно есть инструменты которые могут проверить каждую ссылку хоть это и займет время.
Если все же нет я хотел бы спросить как это написать потому что скорость важна критически, а я рукожоп.
Благодарю за чтение
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
В самом примитивном случае задача будет решаться так (это псевдокод, он пародирует язык программирования, передает лишь идею):
a = [алфавит 0-9a-zA-Z]
foreach(i => index_a_0 ... index_a_last )
   foreach( j => index_a_0 ... index_a_last )
      foreach( k => index_a_0 ... index_a_last)
      ...
     {
          filename = a[i] + a[j] + ... a[m] + '.jpg'
          result = [функция получения HTTP заголовков по url, метод HEAD](filename)
          if(result.responseCode = 200) // Если HTTP код 200, то файл существует
          {
            // загружаем файл
          }
          // пишем в лог файл, какие i,j,k...m прошли
     }

Если у вас пинг будет в пределах 100 мс, то все комбинации процесс в одном потоке обойдет за 2 месяца.
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Начнём с того, что в английском алфавите 28 букв.
У вас число вариантов 35 - значит это не они, не буквы английского алфавита.
Ладно, прибавляем ещё 10 цифр (от 0 до 9), получаем 38. Опять не то, не 35.
А если учитывать ещё и прописные с заглавными буквами, получается 28+28+10=66 вариантов букв и цифр, да в пятой степени 66^5=1.252 миллиона комбинаций.
Сушите сушки, перебор комбинаций будет очень томным супер-долгим.

P.S. Все имена картинок можно вытащить со страниц самого сайта, который на них ссылается. Это и есть WEB-парсинг, обработка исходного текста HTML-страниц.
А для такого тупого brute-force-перебора удобно использовать возможности HTTP/2.0, если они поддерживаются HTTP-сервером с картинками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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