我在用Nokogiri分析网页。
我可以成功地获取第一个bookTitle类元素,但我试图获取数组中的所有标题。
但是我很难得到所有其他的元素。什么是得到它们的最好方法?
doc = Nokogiri::HTML(URI.open("https://www.goodreads.com/search?utf8=%E2%9C%93&q=barack+obama&search_type=books&search%5Bfield%5D=author"))
puts doc.at_css('.bookTitle').content
# returns Dreams from My Father: A Story of Race and Inheritance
puts doc.xpath('//*[@class="bookTitle"]').size;
# returns 20, which is correct
1条答案
按热度按时间9bfwbjaz1#
at_css
(或仅at
)返回第一个匹配的元素(Nokogiri::XML::Element
)需要
css
方法,返回匹配元素的集合(Nokogiri::XML::NodeSet
)您可能需要对此类集合进行Map