Веб-скрейпинг с использованием Ruby — Учебное пособие

Опубликовано: 2017-08-24

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

Веб-скрапинг помогает извлекать целевые онлайн-данные для дальнейшего использования аналитическим механизмом или инструментом BI. Цель парсинга веб-страниц остается разной:

  • Извлечение данных — эффективный способ рекламы вашего бизнеса и продвижения товаров/услуг.
  • Пользователи, потребители и посетители Интернета могут получить желаемую информацию об услуге или продукте.
  • Компании могут получить конкурентную информацию о стратегиях и планах по увеличению своей доли на рынке.
  • Бренды могут узнать об общем восприятии своего бренда через взаимодействие людей в социальных сетях. Это помогает маркетинговым командам разрабатывать и развертывать соответствующие маркетинговые сообщения, предназначенные специально для этой аудитории, что повышает вероятность конверсии.
  • Компании могут получить более четкое представление о потребностях, болевых точках и предпочтениях своей целевой аудитории. Затем они могут направить разработку продукта в правильном направлении с помощью этой ценной информации.

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

Выбор сценария кодирования

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

Если вы планируете запустить свою первую программу парсинга веб-страниц, Ruby может сыграть роль надежного языка сценариев. Невероятная популярность этого языка обусловлена ​​целым рядом причин, и следующие причины помогут вам понять, почему он так эффективен!

  • Мощный скрипт : Ruby-On-Rails — очень мощный и эффективный скрипт для парсинга веб-страниц. Для новичков и новичков этот конкретный язык оказался сильным ресурсом.
  • Надежное сообщество : Ruby поставляется с сильной командой разработчиков, которые образуют надежное и очень надежное сообщество. С миллионами документации ни одна проблема не будет для вас огромной!
  • Простая установка : процедура установки хорошо документирована, и ей довольно легко следовать.

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

Пошаговое руководство

Прежде чем мы начнем, давайте проясним некоторые моменты. Это руководство предназначено для пользователей Mac. Если вы используете другую машину, процесс первоначальной настройки может немного отличаться. Во-вторых, программа использует Nokogiri, который может превращать веб-страницы в «объекты Ruby», тем самым упрощая процесс парсинга веб-страниц. Помня об этих двух факторах, вы можете приступать к своим проектам.

В этом руководстве мы будем собирать заголовки первых 100 объявлений о подержанных автомобилях на olx.

Процесс установки

Вот основные требования для разработки полной установки для извлечения данных из Интернета с использованием Ruby.

  • На вашем компьютере, будь то настольный компьютер или ноутбук, должен быть установлен Ruby. Если вы сторонник Mac, то полдела сделано.
  • Вам понадобится текстовый редактор. Это необходимо для записи команд программы. Если на вашем компьютере нет встроенной опции, попробуйте загрузить Sublime Text. Благодаря потрясающим функциям и удобным элементам управления этот текстовый редактор сделает программирование захватывающим и интересным.
  • Еще одним требованием является глубокое знание использования HTML и CSS. Если вы планируете овладеть искусством парсинга веб-страниц, знание CSS и HTML будет иметь решающее значение.
  • Получить знания о Ruby. Немного информации имеет важное значение в этом контексте. Вы можете проверить некоторые из онлайн-курсов и улучшить свою базу знаний. При наличии этих процессов и факторов настало время приступить к решающим шагам.

Шаг 1: Установка зависимостей

В процессе установки убедитесь, что вы получили полную информацию о трех полезных Ruby Gems. Эти три варианта включают в себя:

  • НокоГири
  • HTTPвечеринка
  • Прай

Поскольку мы уже немного рассказали о Nokogiri, давайте обсудим HTTParty и Pry. HTTParty — это драгоценный камень, который наш парсер будет использовать для отправки HTTP-запросов на страницы, которые мы парсим. Мы будем использовать HTTParty для отправки запросов GET, которые вернут весь HTML-контент страницы в виде строки. Для отладки мы используем Pry, рубиновый гем. Это поможет нам проанализировать код веб-страницы и является важным компонентом в этой настройке.

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

гем установить нокогири

вечеринка по установке драгоценных камней

установить драгоценный камень

Шаг 2: Создание файлов парсера

Вам нужно будет создать папку с именем nokogiri_tutorial в любом из предпочитаемых мест на вашем компьютере. Рабочий стол — идеальное место для этого. Следующим шагом является загрузка текстового редактора, такого как «Sublime Text» или любой другой вариант по вашему выбору, и сохранение файла в этой папке с именем «web_scraper.RB». Выполнив эти шаги, можно приступить к работе с зависимостями.

Шаг 3: Отправка HTTP-запросов на страницу

Начните с создания переменной операции с именем «страница» и убедитесь, что она равна HTTParty GET-запросу страницы, которую мы очищаем.

В этом случае: https://www.olx.in/all-results/q-cars/

После этого вы можете ввести «Pry. начать (привязка)». Перейдите и найдите папку, помеченную как файл web_scraping.Rb. Сохраните его прямо на рабочем столе и откройте терминал, введя эту команду.

cd рабочий стол/nokogiri_tutorial

Ваша программа парсинга веб-страниц готова к внедрению. Вы можете запустить эту команду и запустить ее:

Руби web_scraper.RB

Терминал должен превратиться в Pry, и важно проверить макет, прежде чем приступать к дальнейшим процессам. Вы можете перейти к следующему шагу. Но прежде чем сделать это, убедитесь, что вы набрали «выход» в выбранном терминале, покиньте Pry, а затем вернитесь в исходное расположение папки программы.

Шаг 4: Переходим к НокоГири

Цель здесь состоит в том, чтобы сначала преобразовать и изменить эти списки автомобилей в объекты NokoGiri, так как это имеет решающее значение для синтаксического анализа. Создание переменной важно, и вам придется разработать новую под названием «parse_page». Nokogiri имеет особый способ преобразования строк HTML в объекты Nokogiri. Вы можете оставить Pry внизу кода.

Следующим шагом будет сохранение файла, содержащего команду Ruby. Pry откроется автоматически, и необходимо будет ввести новую переменную «parse_page». Это вернет страницу Olx как объект Nokogiri.

Идите вперед и создайте файл HTML в той же папке с именем «cars.html» и скопируйте и вставьте результаты команды parse_page в этот файл. Эти отформатированные HTML-данные пригодятся позже для справки.

Прежде чем перейти к следующему шагу, выйдите из Pry в своем терминале.

Шаг 5: Анализ данных

Анализ данных требует элементарных знаний программирования, а также кодирования. Поскольку вы хотите извлечь заголовки всех объявлений об автомобилях, файл cars.html пригодится для перекрестной проверки. Найдите важные элементы в папке и выполните проверку с помощью «инструмента проверки элементов» или вы также можете просмотреть «исходный код страницы».

Поскольку мы обнаружили, что списки находятся внутри div с именем класса «content», ниже приведены следующие команды :

parse_page.css('.content')

parse_page.css('.content').css('.row').css('.hdrlnk')

cars_array

Проверяйте схемы кодирования и массивы каждый раз, когда запускаете команду. После завершения синтаксического анализа вам нужно будет экспортировать наборы данных в файлы CSV.

Шаг 6: Экспорт файлов данных в CSV

Когда вы дойдете до шага 6, вы должны были успешно завершить процесс парсинга, и неструктурированные данные были преобразованы в наборы структурированных данных. Теперь вернемся к терминалу. Выйдите из Pry, если вы все еще в нем, чтобы ваш терминал находился в папке nokogiri_tutorial, которая содержит программу очистки и файл cars.html. Теперь введите следующую команду:

сенсорный cars.csv

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

Прощальные мысли

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