перейти к содержанию

Как парсить веб-сайт: полное пошаговое руководство по извлечению данных

Привет всем!

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

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

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

В конце вы поймете:

  • Что такое парсинг веб-страниц и почему он полезен
  • Законность парсинга веб-страниц
  • Как настроить веб-скребок шаг за шагом
  • Инструменты и платформы для парсинга данных
  • Как экспортировать очищенные данные для анализа
  • Передовые методы парсинга веб-страниц

Я поделюсь множеством советов за более чем 5 лет работы экспертом по парсингу веб-страниц, которые помогут вам стать гуру извлечения данных!

Давайте займемся соскабливанием.

Что такое Web Scraping?

Веб-скрапинг означает автоматическое извлечение данных с веб-сайтов. Думайте об этом как о цифровом сборе и копировании данных из Интернета, а не вручную.

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

Вот некоторые примеры того, что вы можете парсить из Интернета:

  • Перечень товаров и цены в интернет-магазинах
  • Списки недвижимости и данные о недвижимости
  • Профили пользователей и списки друзей из социальных сетей
  • Бизнес-каталоги и контактная информация
  • Заголовки и текст новостных статей

Все, что вы можете просмотреть в своем браузере, можно удалить!

Веб-скраперы анализируют HTML-код веб-страниц для идентификации и извлечения соответствующих данных. Данные компилируются в структурированный формат, такой как электронная таблица CSV или файл JSON, для анализа.

Итак, в двух словах:

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

Почему вам следует очищать данные с веб-сайтов?

Есть несколько веских причин использовать парсинг веб-страниц:

1. Масштаб и скорость

Веб-скраперы могут извлекать данные в сотни или тысячи раз быстрее чем люди:

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

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

2. автоматизация

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

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

3. Доступность данных

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

4. Структурирование данных

Парсеры извлекают данные, уже структурированные и готовые для анализа, в отличие от копирования и вставки с веб-сайтов вручную.

5. Ценовой и конкурентный анализ

Веб-скраперы превосходно справляются со сбором данных о ценах, списках продуктов, предложениях услуг и других подробностей со всего Интернета для анализа конкурентов и исследования рынка.

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

Многие новички в парсинге веб-страниц справедливо задаются вопросом о законности этих инструментов.

Короткий ответ: в большинстве случаев парсинг веб-страниц совершенно законен.

Это потому, что веб-скраперы автоматизируют только те данные, которые люди в противном случае могли бы вручную просматривать и копировать самостоятельно – и нет ничего противозаконного в доступе к общедоступным веб-сайтам!

Однако есть некоторые предостережения:

  • Большинство сайтов запрещают парсинг в своих Условиях обслуживания (ToS). Но ToS не имеют юридической силы.

  • Извлечение частных данных, данных, защищенных авторским правом или данных с ограниченным доступом, запрещено. Используйте скребки только на общедоступных сайтах.

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

  • Проконсультируйтесь с адвокатом, если вы пытаетесь обойти строго регулируемые отрасли, такие как финансы или здравоохранение.

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

Теперь давайте перейдем к самому интересному – собственно извлечению данных!

Шаг 1. Получите службу веб-скрапинга (Apify)

Существует множество инструментов и библиотек для парсинга веб-страниц, но для начала я рекомендую Apify.

Апифи - это облачная платформа для парсинга веб-страниц который обрабатывает все сложные внутренние процессы за вас:

  • Автоматизация браузера
  • Конфигурация прокси
  • Масштабируемая инфраструктура
  • Хранилище данных
  • Встроенная интеграция

Основные преимущества:

  • Ничего устанавливать и настраивать – Apify работает в облаке

  • Легкий в использовании – Визуально настраивайте парсеры в браузерном редакторе.

  • Щедрый бесплатный план – Позволяет бесплатно парсить до 1 миллиона страниц в месяц

  • Готовые скребки – Существуют инструменты для крупных сайтов, таких как Google и Amazon.

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

Давайте посмотрим на это в действии!

Зарегистрируйтесь в Apify

Очные Apify.com и создайте бесплатную учетную запись. Просто введите свой адрес электронной почты и пароль — кредитная карта не требуется.

Подтвердите свой адрес электронной почты, и вы готовы начать парсинг!

Шаг 2. Настройте свой первый веб-скребок

В Apify есть множество готовых парсеров, но мы создадим один с нуля, чтобы изучить основы.

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

Создать новый веб-скребок

В своей учетной записи Apify нажмите Создать актера в левом меню. Выбирать Веб скребок и откроется новый скребок:

Консоль Apify

Эта консоль позволяет вам настраивать входы для скрапера.

Установите начальный URL-адрес

Ассоциация Начальный URL — это первая страница, которую посетит парсер.

Для заголовков CNN мы будем использовать https://www.cnn.com/. Вставьте это в:

Начальный URL

Добавить код функции страницы

Далее нам нужно указать парсеру, какие данные следует извлечь со страниц.

В Страница Функция редакторе, удалите код по умолчанию и вставьте это:

const headlines = $(‘#cnn-latest-news ul.cd li h3‘).map((index, el) => $(el).text()).get();

return headlines; 

Это захватывает элементы заголовка CNN и возвращает их текст.

Запустите скребок

Нажмите Run и парсер перейдет на CNN, извлечет заголовки и отобразит их в Dataset вкладка консоли.

Вот и все! Всего за несколько кликов и строк кода вы создали свой первый парсер.

Те же принципы применяются для извлечения данных с любого сайта. Давайте изучим более продвинутые методы.

Шаг 3. Экспортируйте очищенные данные

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

Наборы данных Apify можно экспортировать в JSON, CSV, Excel, RSS и другие структурированные форматы.

Например, вы можете:

  • Сохраняйте данные о продуктах в Google Таблицы и составляйте графики цен.

  • Экспортируйте электронные письма в CSV и импортируйте в Mailchimp для маркетинга.

  • Загрузите информацию о недвижимости в формате JSON, чтобы заполнить списки вашего сайта.

  • Превратите заголовки новостей в RSS-канал или дайджест электронной почты

Apify прекрасно интегрируется с собственными инструментами разработчика Zapier, Integromat или LinkedIn, предоставляя еще больше возможностей.

Если вы можете придумать способ использования данных, Apify предоставит средства для их получения.

Продвинутые методы парсинга веб-страниц

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

Давайте рассмотрим некоторые из наиболее мощных возможностей парсинга веб-страниц:

Рендеринг JavaScript

Некоторые сайты динамически отображают контент с помощью JavaScript. Стандартные парсеры не могут запускать JS, поэтому Apify предоставляет такие инструменты, как Кукольник Скребок и Веб скребок которые используют настоящие автономные браузеры Chrome для выполнения JavaScript и идентификации скрытых элементов страницы.

Скрапинг логинов

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

Бесконечная очистка прокрутки

Сайты с бесконечной прокруткой (при прокрутке вниз загружается больше контента) требуют автоматической прокрутки для доступа ко всем данным. Инструменты Apify могут автоматически прокручивать тысячи элементов.

Парсинг API

Для сайтов, предлагающих API-интерфейсы разработчика, их сбор напрямую происходит быстрее, чем автоматизация браузера. Apify обеспечивает интеграцию для простого сбора и анализа API-интерфейсов JSON/XML.

Визуальный парсинг веб-страниц

Apify's Визуальный CE Инструмент позволяет визуально выбирать элементы для извлечения данных со сложных сайтов с помощью пользовательского интерфейса «укажи и щелкни» — кодирование не требуется.

Веб-автоматизация

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

Например, вы можете создать бота, который:

  1. Проверьте страницы продукта на предмет снижения цен
  2. Добавьте товары со скидкой в ​​Google Таблицу
  3. Напишите вам, когда цены изменятся

Возможности безграничны!

Это лишь поверхностное представление о расширенных функциях Apify. Подробные руководства по каждой функции см. Документация Apify.

Зачем использовать Apify для парсинга веб-страниц?

На этом этапе вы, возможно, убеждены, что парсинг веб-страниц полезен (это так!), но задаетесь вопросом, почему именно я рекомендую Apify вместо других инструментов.

Вот ключевые преимущества, которые делают Apify ведущей платформой для парсинга веб-страниц:

Управляемая инфраструктура

Apify предоставляет серверы и инфраструктуру для запуска парсеров в любом масштабе — обслуживание не требуется.

Браузерная автоматизация

Парсеры используют настоящие браузеры, такие как Chrome и Firefox, для обеспечения надежной работы.

Хранение данных

Храните и управляйте терабайтами очищенных данных в облаке Apify.

Встроенные Интеграции

Легко экспортируйте данные или подключайте парсеры к внешним приложениям.

Готовые скребки

Получите доступ к многоразовым парсерам для популярных сайтов, таких как Google, Twitter, Yelp и других.

Бесплатный щедрый план

Уровень бесплатного пользования Apify позволяет парсить до 1 миллиона страниц в месяц, чего достаточно для многих целей.

Визуальный редактор

Визуально настраивайте парсеры без написания кода с помощью инструментов Apify на основе пользовательского интерфейса.

Веб-автоматизация

Организуйте комплексные рабочие процессы, автоматизируя сложные процессы на веб-сайтах.

Поддержка 24/7

Дружелюбные эксперты службы поддержки клиентов в часовых поясах Европы и США предоставят рекомендации.

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

Давайте посмотрим все это в действии

В этом руководстве мы рассмотрели массу вопросов!

Чтобы увидеть возможности Apify по очистке веб-страниц в действии в реальных случаях использования, ознакомьтесь с этими подробными руководствами:

В каждом руководстве представлены примеры кода и пошаговые инструкции, адаптированные к целевому сайту.

Вы получите практический опыт использования Apify для извлечения данных с популярных платформ. Навыки, которые вы приобретете, позволят вам парсить практически любой сайт, который только можно себе представить!

Извлечение данных из CNN: пошаговое руководство

Чтобы понять весь процесс парсинга веб-страниц, давайте рассмотрим пример от А до Я парсинга заголовков новостей из CNN.

Мы извлечем основной заголовок и сопутствующие вступления к статье, чтобы создать собственный дайджест новостей.

Следуйте инструкциям, чтобы применить свои новые навыки на практике!

Шаг 1 – Создайте веб-скребок CNN

Войдите в свою учетную запись Apify и создайте новую Веб скребок актер.

Предварительно заполните его:

Начальный URL: https://www.cnn.com

Это указывает парсеру начать работу с cnn.com.

Шаг 2 – Извлеките верхний заголовок

CNN динамически загружает заголовок главной статьи через JavaScript.

Чтобы извлечь его, добавьте этот код в Страница Функция:

let topHeadline = $(‘h1.cd__headline‘).text().trim();

Это захватывает текст элемента заголовка H1.

Шаг 3 – Извлечение вступления к статье

Под основным заголовком расположены вступления к статьям. Чтобы их захватить:

// Get all .zn-body__paragraph elements
let articles = $(‘.zn-body__paragraph‘).map((index, el) => {

  // Extract the text from each
  const text = $(el).text().trim();

  // Return as an object
  return {
    intro: text
  };

}).get();

Мы находим каждого .zn-body__paragraph div, извлеките его текст и верните его как объект, содержащий вступление.

Шаг 4 – Возврат данных

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

return {
  topHeadline,
  articles  
}

Это выведет данные в виде объекта JSON.

Шаг 5 – Запустите скребок

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

Выход CNN

Шаг 6 – Экспорт дайджеста новостей

Под Dataset вкладке экспортируйте результаты в файл JSON.

Теперь у вас есть структурированный дайджест последних новостей CNN, готовый к использованию!

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

Повышайте свои навыки парсинга веб-страниц

Поздравляем – теперь вы обладаете всеми основными навыками, необходимыми для сбора данных с любого веб-сайта!

Напомним:

  • Веб-соскоб автоматически собирает для вас данные с веб-сайтов

  • Такие инструменты, как апифай сделать парсинг простым для новичков

  • Вы можете парсить практически любой общедоступный сайт с помощью нескольких строк Страница Функция код

  • Собранные данные можно беспрепятственно экспортировать. интеграции. между приложениями

  • Более сложные сайты требуют передовые методы например JS-рендеринг и автоматизация

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

Дополнительные руководства и ресурсы по Apify можно найти на их странице. Блог и Документы.

А если у вас возникнут еще вопросы, когда вы начнете парсить, обращайтесь! Мне нравится слышать, как люди используют Apify для использования веб-данных.

Приятного извлечения!

Присоединяйтесь к беседе

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *