面试题答案
一键面试require 'nokogiri'
html = <<-HTML
<html>
<body>
<div class='book'>
<h2 class='title'>书名1</h2>
<p class='author'>作者1</p>
<p class='price'>25.5</p>
</div>
<div class='book'>
<h2 class='title'>书名2</h2>
<p class='author'>作者2</p>
<p class='price'>30.0</p>
</div>
</body>
</html>
HTML
doc = Nokogiri::HTML(html)
books = []
doc.css('.book').each do |book|
title = book.css('.title').text
author = book.css('.author').text
price = book.css('.price').text.to_f
books << [title, author, price]
end
puts books.inspect
上述代码首先引入nokogiri
库,然后将给定的HTML字符串解析为Nokogiri文档对象。接着,通过CSS选择器找到每个book
元素,并从每个book
元素中提取书名、作者和价格,最后将这些信息以数组形式存储并返回。