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

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

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

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

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

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

  • Может ли wget * печатать * URL-адреса зависимостей страниц?
  • Как загрузить определенные файлы с некоторого URL-адреса с помощью wget
  • wget -k не конвертирует все ссылки
  • Возобновить загрузку wget из другого зеркала
  • скачать pdf-файлы с помощью curl
  • Как реализовать механизм повтора при выполнении URL-адреса сервера в сценарии оболочки?
  • Как оптимизировать скрипт загрузки wget
  • Как загрузить все изображения размером> 100 КБ на веб-странице?
  • Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме
  • Как получить текст страницы с помощью wget без html?
  • wget для получения списка файлов
  • загрузка изображений с веб-страницы с различными ссылками
  • Linux и Unix - лучшая ОС в мире.