Для начала вы можете использовать следующий xpath:
doc = Nokogiri::HTML(html)
doc.xpath("//div[@class='div3.1']/h2[not(@class = 'notopgap')]").map(&:text)
Который будет соответствовать двум <h2>
тегам, которые вы хотите извлечь. Извлечение другой записи более сложное. Мой xpath kung fu отсутствует на этом фронте, потому что он находится на том же уровне, что и текст, который вы не хотите захватывать.
Я, вероятно, вернусь к сопоставлению с текстом.
text = doc.xpath("//div[@class='div3.1']").text()
text.scan(/TEXT:(.*)\n/).flatten