Как делают меня структурная распечатка программы HTML с Nokogiri?

Я записал поисковый робот в Ruby, и я использую Nokogiri::HTML проанализировать страницу. Я должен распечатать страницу и при бездельничании в IRB, я заметил a pretty_print метод. Однако это берет параметр, и я не могу выяснить то, что это хочет.

Мой поисковый робот кэширует HTML веб-страниц и пишет это в файлы на моей локальной машине. Я хотел бы к "структурной распечатке программы" HTML так, чтобы выглядело хорошим и правильно отформатированным, когда я делаю так.

23
задан the Tin Man 20 January 2012 в 03:57
поделиться

2 ответа

Под "красивой печатью" HTML-страницы, я полагаю, вы имели в виду, что хотите переформатировать HTML-структуру с правильным отступом. Нокогири этого не поддерживает; Метод pretty_print предназначен для библиотеки "pp", и его вывод полезен только для отладки.

Есть несколько проектов, которые понимают HTML достаточно хорошо, чтобы иметь возможность переформатировать его, не уничтожая действительно значимые пробелы ( самый известный из них - HTML Tidy ), но в поисковой выдаче я нашел этот пост под названием «Хорошая печать XHTML с помощью Nokogiri и XSLT» .

Это сводится к следующему:

xsl = Nokogiri::XSLT(File.open("pretty_print.xsl"))
html = Nokogiri(File.open("source.html"))
puts xsl.apply_to(html).to_s

Это, конечно, требует, чтобы вы загрузили связанный файл xsl в вашу файловую систему. Я очень быстро попробовал его на своей машине, и он отлично работает.

21
ответ дан 29 November 2019 в 00:39
поделиться

почему бы вам не попробовать метод pp ?

require 'pp'
pp some_var
-5
ответ дан 29 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

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