我在Ruby中编写了一个网页爬虫,我正在使用Nokogiri :: HTML来解析页面。我需要打印页面,同时在IRB中混乱我注意到一个pretty_print方法。然而,它需要一个参数,我无法弄清楚它想要什么。
我的抓取工具正在缓存网页的HTML并将其写入本地机器上的文件。我想“漂亮打印”HTML,以便在我这样做时看起来很好,格式正确。
解决方法
通过“漂亮的打印”HTML页面,我认为你的意思是想要用适当的缩进格式重新格式化HTML结构。诺基里不支持pretty_print方法用于“pp”库,输出仅用于调试。
有几个项目能够很好地理解HTML,以便能够重新格式化,而不会破坏实际上重要的空白(着名的是HTML Tidy),但是通过谷歌搜索,我发现这篇文章是“Pretty printing XHTML with Nokogiri and XSLT”。
归结为:
xsl = Nokogiri::XSLT(File.open("pretty_print.xsl")) html = Nokogiri(File.open("source.html")) puts xsl.apply_to(html).to_s