Nokogiri将值作为字符串返回,而不是数组

Uto*_*025 3 ruby nokogiri

我正在使用Nokogiri运行一个脚本,它返回多个值.我的印象(并且由多个来源保证)结果应该是数组的形式.相反,我得到一个丑陋的字符串.这是代码

require 'nokogiri'
require 'open-uri'
require 'spreadsheet'

profile_page_scraper = Nokogiri::HTML(open('http://www.crunchbase.com/company/facebook'))       
puts profile_page_scraper.css('div.col1_content td.td_left').text
Run Code Online (Sandbox Code Playgroud)

哪个返回:

PublicDateRaisedPost IPO ValuationWebsiteBlogTwitterCategoryEmployeesFoundedDescription
Run Code Online (Sandbox Code Playgroud)

我知道我可以用来map快速解决这个问题,但我很困惑为什么这不会返回一个数组.从理论上讲,它应该返回这样的东西:

["Public", "Date", "Raised" ... "Description"]
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这不起作用?

tok*_*and 7

NodeSet#text总是返回一个字符串(否则可能会被调用NodeSet#texts).Nokogiri文档不是那么好,如有疑问请查看源代码:

  # lib/nokogiri/xml/node_set.rb
  def inner_text
    collect{|j| j.inner_text}.join('')
  end
  alias :text :inner_text
Run Code Online (Sandbox Code Playgroud)

要获得一系列文本: nodes.map(&:text)