Я записал поисковый робот в Ruby, и я использую Nokogiri::HTML
проанализировать страницу. Я должен распечатать страницу и при бездельничании в IRB, я заметил a pretty_print
метод. Однако это берет параметр, и я не могу выяснить то, что это хочет.
Мой поисковый робот кэширует HTML веб-страниц и пишет это в файлы на моей локальной машине. Я хотел бы к "структурной распечатке программы" HTML так, чтобы выглядело хорошим и правильно отформатированным, когда я делаю так.
Под "красивой печатью" 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 в вашу файловую систему. Я очень быстро попробовал его на своей машине, и он отлично работает.
почему бы вам не попробовать метод pp
?
require 'pp'
pp some_var