Как можно найти все изображения на сайте, которые находятся в определенной папке?

Как с помощью инструментов на GitHub или в общем в интернете можно проверить доступность каждой из комбинаций адресов картинок (например, blabla.com/XXXXX.jpg), где XXXXX - это комбинация 5 символов (цифр или букв), учитывая, что всего возможно 35^5 (примерно 52 миллиона) комбинаций, и как написать подобный инструмент с учетом важности скорости выполнения задачи?
  • 5 мая 2024 г. 9:40
Ответы на вопрос 2
Для поиска всех изображений на сайте, которые находятся в определенной папке, можно воспользоваться различными инструментами и методами. 

Один из способов - это использование инструментов для сканирования сайта (например, web-crawler или сайт-анализатор), которые могут просмотреть все файлы и ссылки на изображения на сайте и выделить те, которые находятся в определенной папке. Также можно воспользоваться специализированными программами для поиска и загрузки файлов с сайта.

Чтобы проверить доступность каждой комбинации адресов картинок, можно воспользоваться такими инструментами как Python с библиотеками requests и threading для многопоточного запроса ресурсов. Можно написать скрипт, который будет итерироваться по всем возможным комбинациям адресов картинок и проверять доступность каждой из них, например, отправляя HTTP-запрос и обрабатывая ответ. Кроме того, можно использовать инструменты для автоматизации работы с веб-ресурсами, такие как Selenium или Headless Chrome, для более удобного и эффективного сканирования большого количества адресов.

Для ускорения выполнения задачи можно также использовать дополнительные вычислительные ресурсы, такие как облачные серверы или распределенные системы, которые позволят делать запросы параллельно и увеличить скорость выполнения задачи. Кроме того, оптимизация алгоритма проверки доступности адресов (например, уменьшение времени ожидания ответа на запрос) также может значительно повысить эффективность инструмента.
В самом примитивном случае задача будет решаться так (это псевдокод, он пародирует язык программирования, передает лишь идею): 
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](filename)
          if(result.responseCode = 200) // Если HTTP код 200, то файл существует
          {
            // загружаем файл
          }
          // пишем в лог файл, какие i,j,k...m прошли
     }

Если у вас пинг будет в пределах 100 мс, то все комбинации процесс в одном потоке обойдет за 2 месяца.
Похожие вопросы