Рик, машинное сопоставление с образцом - сложная тема, а не то, что вы найдете хорошую библиотеку для Ruby "из коробки".
Ответ Кайла был началом, как только вы получите страницу сRuby, типичной технологией для этого будет xpath или «Язык XML-пути».
Используя Xpath, вы можете написать простые селекторы, которые будут извлекать каждый элемент, соответствующий шаблону, например, каждыйссылка на HTML-документ может быть //a
, каждое h1
будет //h1
, а каждое изображение непосредственно внутри div, где у изображения есть класс "car", будет выглядеть примерно так: //div/image[class="car"]
.
Результатом XPath является перечисляемый список каждого элемента, который можно затем запросить для подэлементов, получить content()
элементов и построить отношения для извлечения необходимых данных.
Библиотека для перехода на Ruby называется Nokogiri и доступна как драгоценный камень - прямая документация немного слабовата, но там все описано, если вы знаете, что искатьfor.
Некоторые библиотеки для Ruby сочетают сканирование с простым способом доступа к базовому HTML / XML в качестве документа Nokogiri, одним из таких примеров является Anemone
, который представляет собой "каркас"для создания веб-пауков в Ruby "- и я могу очень рекомендовать его.