Инструменты для анализа автоматически генерируемых HTTP-индексов?

Веб-серверы обычно генерируют указатели каталогов, перечисляющие файлы в каталоге и дополнительные метаданные. Существуют различия в содержании и форматировании этих страниц, но, как правило, имеют сильное общее сходство.

Существуют общие операции, такие как идентификация самого последнего файла в каталоге в соответствии с указанной меткой времени или загрузка файла с последней версией. Они включают в себя общие шаги по загрузке индекса html, извлечению имен файлов, сопоставлению шаблонов, синтаксическому анализу, сортировке по дате и т. Д. … Обычно я использую минимальное решение в bash с использованием wget, grep, awk, sort и date, Любопытно, если кто-то работал над обобщенными решениями проблем, связанных с индексами файлов html.

Существуют ли какие-либо (предпочтительно, командной строки) утилиты для обработки / разбора этих html-файлов?

Очевидно, что это нетривиальная задача, и во всех случаях она не может быть выполнена идеально, но решение, которое позволяет избежать повторного использования колеса для 90% всех случаев, безусловно, входит в сферу возможностей.

  • Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме
  • Как создать каталоги, содержащие index.html с помощью wget -recursive?
  • Загрузка нескольких похожих URL-адресов с использованием скобок
  • Как загрузить несколько URL-адресов в один файл
  • Может ли wget * печатать * URL-адреса зависимостей страниц?
  • Как загрузить все файлы, связанные с веб-сайтом с помощью wget
  • Необходимый инструмент для загрузки - с настраиваемыми заголовками, возобновлением, повторной попыткой, выдачей пользовательского имени файла и динамическим перенаправлением
  • Запуск тысяч параллельных фоновых процессов в сценарии bash
  • One Solution collect form web for “Инструменты для анализа автоматически генерируемых HTTP-индексов?”

    Я предполагаю, что вы имеете в виду, что вы хотите анализировать HTML, содержащиеся в ответе HTTP.
    Если вы знакомы с PHP, вы можете использовать curl для извлечения страницы, а затем проанализировать строку в своей структуре DOM с помощью класса DOMDocument PHP, тогда вы можете получить интересующий innerHTML запрос на экземпляр DOMDocument.
    Как скрипт PHP командной строки

    #!/usr/bin/php // curl or readfile or whatever for url and assign HTML body into variable $html $html = '<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title></title> link </head> <body> <h1>stuff in directory listing</h1> </body> </html> '; $DOM = @DOMDocument::loadHTML($html); $element = $DOM->getElementsByTagName("h1")->item(0); echo $element->nodeValue; 

    Вот как я это сделаю, и причина в том, что

    1. это даст гибкую реализацию, где вы сможете адаптироваться к различным ответам, которые предоставили веб-серверы.
    2. попытка синтаксического анализа содержимого по регулярному выражению была бы очень тяжелой (Im guessing)

    Вот демоhttp://codepad.viper-7.com/apsiKR

    Interesting Posts

    Unix – удаление папки со странными символами с использованием inode или аналогичного

    Не удается SSH / FTP в новую учетную запись пользователя в Ubuntu?

    Perl: общий способ определения размера блочного устройства

    Отключить модуль KVM Kernel во время его использования

    Ошибка Perl "Не удается найти Thread / Pool / Simple.pm в @INC"

    Каковы привилегии Polkit по умолчанию для Arch Linux для остановки, остановки и т. Д. И почему они так?

    Nautilus уродливый с пользовательскими темами GTK

    как сделать поиск текста на терминале напрямую

    Ограничить размер окна при максимизации в Xfce

    автоматически перенаправляет вывод на / dev / null

    Добавление строки в vim добавляет ее в строку после курсора, я хотел бы вставить

    служебная команда: не удалось выполнить вызов метода

    что стандартная база Linux определяет о ядре?

    Сенсорный экран распознается как мышь в Arch Linux – как я могу включить multi-touch с ним и распознать его как сенсорный экран?

    Исправлены ли сломанные пакеты на debian?

    Linux и Unix - лучшая ОС в мире.