HTML到纯文本与Ruby?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

有没有什么可以将HTML转换为纯文本(也许是一个nokogiri脚本)?有些东西可以保持线条不中断,但就是这样。

如果我写的东西像这样,并运行该命令,它输出(去除CSS和JavaScript),这样的:

\n\n\n\n\nh1. Test h2. HELLO THEREI am some teexton the next line!!!OKAY!#*!)$!
提问于
用户回答回答于

实际上,这要简单得多:

require 'rubygems'
require 'nokogiri'

puts Nokogiri::HTML(my_html).text

不过,你仍然存在中断行的问题,因此你必须弄清楚如何自己处理这些问题。

用户回答回答于

你可以从这样的事情开始:

require 'open-uri'
require 'rubygems'
require 'nokogiri'

uri = 'http://stackoverflow.com/questions/2505104/html-to-plain-text-with-ruby'
doc = Nokogiri::HTML(open(uri))
doc.css('script, link').each { |node| node.remove }
puts doc.css('body').text.squeeze(" \n")

扫码关注云+社区