CoderCastrov logo
CoderCastrov
Руби

Давайте спарсим веб-сайт с помощью Ruby.

Давайте спарсим веб-сайт с помощью Ruby.
просмотров
2 мин чтение
#Руби

Парсинг веб-сайта становится интереснее, когда у вас есть правильные инструменты для работы.

Ruby предоставляет очень простой и элегантный способ для парсинга веб-сайтов для различных видов информации. Это настолько просто, что вы можете спарсить любой веб-сайт за несколько минут.

Прежде чем погрузиться в детали, что означает парсинг данных?

Согласно Википедии, парсинг данных обычно считается ад-хок или неэлегантной техникой, которая часто используется только как "крайняя мера", когда нет другого механизма для обмена данными. Помимо более высоких накладных расходов на программирование и обработку, отображение результатов, предназначенных для восприятия человеком, часто часто меняется. Человек может легко справиться с этим, но компьютерная программа может выдавать бессмыслицу, если ей было сказано читать данные в определенном формате или из определенного места, и она не знает, как проверить свои результаты на достоверность.

Давайте начнем, хорошо?

Предварительные требования

Я предполагаю, что у нас уже установлена Ruby на наших компьютерах. Если у вас нет установленной Ruby, вы можете скачать и установить ее с сайта

https://www.ruby-lang.org/en/downloads/.

Мы будем работать с несколькими Ruby-гемами, предназначенными для парсинга данных.

Установка

Мы установим инструменты, с которыми будем работать. Откройте терминал и введите эти команды

gem install nokogiri

установите HTTParty

gem install httparty

последний гем перед тем, как начать

gem install pry

Поздравляю, вы завершили первый этап

Что мы будем парсить?

Мы будем парсить страницу с объявлениями о животных на Newyork craigslist.

Мы начнем с создания директории, назовем ее data-scraper

затем мы создадим файл с именем scrap.rb

мы подключим необходимые гемы

Создайте класс 'Scrap' с методом инициализации

class Scrap
  def initialize  end
end

В методе инициализации мы будем использовать HTTParty для чтения веб-сайта, который мы хотим спарсить, вызывая метод get у класса HTTParty, и парсить его содержимое с помощью класса Nokogiri, вызывая метод HTML у него.

Давайте изучим сайт, который мы хотим спарсить, это поможет нам понять точный HTML-элемент, который содержит данные, которые нас интересуют.

У Nokogiri есть метод CSS, который извлекает данные из любого HTML-элемента с атрибутом CSS. Мы будем использовать метод CSS для извлечения данных, с которыми мы хотим работать.

Поскольку мы успешно получили список элементов на сайте New York craigslist, мы можем определить, что именно мы хотим спарсить.

Например, давайте получим заголовки каждого из спарсенных элементов.

В заключение, мы видели, что очень легко спарсить веб-сайт с помощью Ruby, используя вышеуказанные инструменты.