如何解析HTML从H1获取文本…类推



我想解析一个HTML页面,我只想获得<h1>内的所有文本。<h6>标签。

我的实际脚本是:

doc = Nokogiri::HTML(open(s3_page_url).read)
doc.css('h1, h2').each do |link|
  puts link.text
end
下面是我的测试代码:
html = '<html><head><title><h1>foo</h1><h2>bar</h2></title><body><p>bar</p></body></html>'
doc = Nokogiri::HTML(html)
doc.css('h1').each do |link|
  puts link.text
end

提示符:

foo

问题是我想得到foo bar

首先使用#map获取文本数组。然后#join用您选择的分隔符构造一个字符串

#!/usr/bin/env ruby
require 'nokogiri'
html = <<-STRING
<html><head><title><h1>foo</h1><h2>bar</h2></title><body><p>bar</p></body></html>
STRING
doc = Nokogiri::HTML::DocumentFragment.parse(html)

doc.css('h1, h2').map(&:text).join(" ") # => "foo bar"

相关内容

  • 没有找到相关文章

最新更新