CoderCastrov logo
CoderCastrov
Python Парсинг веб-сайтов

3 метода для парсинга данных из таблицы

3 метода для парсинга данных из таблицы
просмотров
4 мин чтение
#Python Парсинг веб-сайтов

Источник статьи: https://octoparse.de/blog/3-methoden-zum-scrapen-der-daten-aus-einer-tabelle

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

Здесь я хочу представить вам 3 метода, с помощью которых вы можете легко и быстро выполнить парсинг данных из таблицы.

Octoparse

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

Octoparse

Шаги парсинга данных с помощью Octoparse приведены ниже.

✅ Шаг 1: Нажмите "Расширенный режим", чтобы начать новый проект.

✅ Шаг 2: Введите целевой URL в поле и нажмите "Сохранить URL", чтобы открыть веб-сайт встроенным браузером Octoparse.

✅ Шаг 3: Создайте пагинацию за 3 клика:

a) Нажмите "B" в браузере.

b) В "Советы по действиям" нажмите "Выбрать все".

c) В "Советы по действиям" нажмите "Циклический клик по каждому URL".

Теперь мы видим, что в рабочем процессе создана "Циклическая пагинация".

✅ Шаг 4: Настройте задачу

a) Нажмите на первую ячейку в первой строке таблицы.

b) Нажмите на значок расширения в "Советах по действиям", пока вся строка не будет выделена зеленым цветом (обычно это тег TR).

c) В "Советах по действиям" нажмите "Выбрать все подэлементы", затем "Извлечь данные" и "Извлечь данные в цикле".

Цикл для парсинга таблицы встроен в рабочий процесс.

✅ Шаг 5: Извлеките и экспортируйте данные

С помощью вышеуказанных 5 шагов мы получаем следующий результат.



Вам нужен Octoparse! 🤩

Цена: $0~$249 в месяц

Пакеты и цены: Цены и пакеты Octoparse Premium

Бесплатная пробная версия: 14-дневная бесплатная пробная версия

Скачать: Octoparse для Windows и MacOs


Google Sheets

В Google Sheets есть функция под названием Import Html, которая позволяет извлекать данные из таблицы на HTML-странице с помощью формулы =ImportHtml(URL, "table", num).

✅ Шаг 1: Откройте новую таблицу Google и введите формулу в пустую ячейку. Появится краткое введение в формулу.

✅ Шаг 2: Введите URL (Пример: https://en.wikipedia.org/wiki/Forbes%27_list_of_the_world%27s_highest-paid_athletes) и настройте поле индекса по необходимости.

С помощью указанных выше 2 шагов мы можем спарсить данные из таблицы в Google Sheets всего за несколько минут. Однако есть очевидное ограничение. Если мы планируем парсить таблицы с нескольких страниц с помощью Google Sheets, нам придется повторять процесс несколько раз. Поэтому вам понадобится более эффективный способ автоматизировать этот процесс.

Язык R (с пакетом rvest)

В этом случае я также использую этот веб-сайт (https://de.investing.com/currencies/single-currency-crosses) в качестве примера, чтобы показать, как можно скрапить таблицы с помощью пакета rvest.

Прежде чем мы начнем писать код, нам нужно знать некоторые основные грамматики о пакете rvest.

html_nodes() : Выбор определенной части в определенном документе. Мы можем использовать CSS-селекторы, такие как html_nodes(doc, "table td"), или xpath-селекторы, html_nodes(doc, xpath = "//table//td")

html_tag() : Извлекает имя тега. Некоторые похожие функции: html_text (), html_attr() и html_attrs()

html_table() : Разбирает HTML-таблицы и извлекает их в R-фреймворк.

Кроме того, есть еще несколько функций для имитации поведения пользователя в Интернете. Например, html_session(), jump_to(), follow_link(), back(), forward(), submit_form() и так далее.

В этом случае нам нужно использовать html_table(), чтобы достичь нашей цели, то есть извлечь данные из таблицы.

Сначала загрузите R (https://cran.r-project.org/).

**✅ Шаг 1: **Установите rvest.

**✅ Шаг 2: **Начните писать код, как показано на следующем изображении.

Library(rvest) : Импорт пакета rvest

Library(magrittr) : Импорт пакета magrittr

URL: Целевой URL

Read HTML : Получение информации с целевого URL

List: Чтение данных из таблицы

**✅ Шаг 3: **После того, как вы написали весь код в R-панели, нажмите "Enter", чтобы выполнить скрипт. Теперь мы можем сразу получить информацию из таблицы.

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

Я надеюсь, что вышеуказанное руководство помогло вам получить общее представление о том, как инструмент парсинга веб-страниц может помочь вам легко достичь того же результата, что и программист.

Если у вас возникли проблемы с извлечением данных или вы хотите предложить нам что-то, пожалуйста, свяжитесь с нами по электронной почте (support@octoparse.com). 💬

Автор: Команда Octoparse ❤️