CoderCastrov logo
CoderCastrov
Парсер

100-й учебник по парсингу, который вы, вероятно, прочитаете

100-й учебник по парсингу, который вы, вероятно, прочитаете
просмотров
4 мин чтение
#Парсер

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

Эта статья будет разделена на четыре раздела:

Давайте начнем!

Перед началом

Перед началом убедитесь, что у вас установлен Nokogiri.

Возможные вопросы:

Как установить Nokogiri?

Как найти правильный селектор CSS?

  1. Нажмите на него и наведите курсор на данные, которые вы хотите спарсить. Он покажет вам имя селектора.

Краткая версия

(не стесняйтесь заменять имена на удобные для вас)


Шаг Один

Откройте терминал и создайте директорию с названием "scrape".

Если вам нужна помощь, нажмите здесь и выполните шаги 1–4

Шаг Два

Создайте файл внутри директории и назовите его "scrape.rb".

Если вам нужна помощь, нажмите здесь и выполните шаг 5

Шаг Три

Откройте Visual Studio Code и перейдите к файлу "scrape.rb".

Шаг Четыре

Добавьте в начало файла следующие строки для подключения nokogiri и open-uri:

require 'nokogiri'
require 'open-uri'

Шаг Пять

Введите следующий код в Visual Studio Code:

# Пример
Пример

Шаг Шесть

Введите следующее в терминале:

ruby scrape.rb

После нажатия Enter вы должны увидеть что-то вроде этого. Не волнуйтесь, это должно произойти.

Теперь переходим к следующему шагу, чтобы получить нужные данные.

Шаг Семь

Закомментируйте puts website следующим образом:

Шаг Восемь

Чтобы получить текст того, что нам нужно, нам нужно получить CSS-селектор и ввести его в код следующим образом:

Если вам нужна помощь в поиске правильного CSS-селектора, нажмите здесь.

⬇ПРИМЕР⬇

И ВЫ ГОТОВЫ! После того, как вы получили свои данные, вы можете делать с ними все, что хотите, и продолжать работу над своим проектом.

Подробное объяснение:

(Не пугайтесь количества шагов! Также не стесняйтесь заменить имена на удобные для вас)

Шаг первый

Откройте терминал и перейдите в нужный каталог. Чтобы перейти в другой каталог, введите:

cd (имя каталога)

Если вы не знаете, в какой каталог перейти, введите

ls

в терминале, чтобы увидеть, какие каталоги у вас есть. Если вы находитесь в каталоге, в котором хотите сохранить свою работу, переходите к Шагу второму.

Шаг второй

Как только вы найдете каталог, в котором хотите хранить свою работу, создайте новый каталог, введя

mkdir парсинг

Команда mkdir создает новый каталог из терминала

Шаг Три

Чтобы проверить, была ли создана директория, введите:

ls

Это покажет список всех файлов в текущей директории. Как только вы увидите созданную вами директорию, переходите к шагу четыре.

Шаг Четыре

Перейдите в новую созданную директорию, введя:

cd scrape

Команда cd означает "сменить директорию".

Шаг Пять

Когда вы находитесь в директории, введите

touch scrape.rb

команда touch создаст файл, а расширение .rb указывает, на каком языке будет написан файл. В данном случае это Ruby.

Шаг Шесть

Откройте Visual Studio Code, найдите и откройте только что созданный файл.

Шаг Семь

Добавьте в начало файла следующие строки для подключения Nokogiri и Open-URI:

require 'nokogiri'
require 'open-uri'

Шаг Восемь

Затем добавьте следующие 2 строки кода:

doc = Nokogiri::HTML(URI.open("http://example.com"))
puts doc

⬇ПРИМЕР ⬇

doc = Nokogiri::HTML(URI.open("http://example.com"))
puts doc

Шаг Девять

Чтобы увидеть результат работы парсера в терминале, необходимо ввести команду

ruby перед названием файла, который в данном случае называется parse.rb

Введите в терминале следующую команду:

ruby parse.rb

Шаг Десять

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

Это должно выглядеть примерно так:

Шаг Одиннадцать

Закомментируйте_ puts website _следующим образом:

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

Шаг Двенадцать

Чтобы получить текст того, что мы хотим специфически, нам нужно получить селектор CSS и ввести его в код следующим образом:

⬇ПРИМЕР⬇

Нужна помощь с поиском правильного селектора CSS? Нажмите здесь



Заключение

И вы закончили!!! УРА! Надеюсь, это было полезно и я достиг своей цели - убедиться, что это последний учебник по парсингу, который вам нужно прочитать! Желаю вам успехов во всем, над чем вы работаете :).

Если вам интересно увидеть, что я сделал с Nokogiri, нажмите здесь.