Лучший опыт

Извлечение данных — это пр? ... Извлечь данные легко с помощью браузера Scraping Browser

Извлечь данные легко с помощью браузера Scraping Browser...

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

С другой стороны, если вы имеете дело с большими массивами данных, вам необходима автоматизированная техника извлечения данных. Вы можете создать собственное решение для извлечения данных или использовать Proxy API или Scraping API для таких задач. Однако эти методы могут оказаться менее эффективными, поскольку некоторые сайты, на которые вы нацеливаетесь, могут быть защищены капчами. Вам также может потребоваться управление ботами и прокси-серверами. Такие задачи могут отнять у вас много времени и ограничить характер контента, который вы можете извлечь.

Scraping Browser: Решение

Вы можете преодолеть все эти трудности с помощью браузера Scraping Browser от Bright Data. Этот универсальный браузер помогает собирать данные с сайтов, которые трудно спарсить. Это браузер, использующий графический интерфейс пользователя (GUI) и управляемый Puppeteer или Playwright API, что делает его необнаружимым для ботов. Scraping Browser имеет встроенные функции разблокировки, которые автоматически обрабатывают все блоки от вашего имени. Браузер открывается на серверах Bright Data, что означает, что вам не нужна дорогостоящая собственная инфраструктура для сбора данных для ваших масштабных проектов.

Особенности Bright Data Scraping Browser

  • Автоматическая разблокировка веб-сайтов: Вам не придется постоянно обновлять браузер, так как этот браузер автоматически настраивается для обработки решения CAPTCHA, новых блоков, отпечатков пальцев и повторных попыток. Scraping Browser имитирует реального пользователя.
  • Большая сеть прокси-серверов: Вы можете выбрать любую страну, так как Scraping Browser имеет более 72 миллионов IP-адресов. Вы можете выбрать города или даже перевозчиков и воспользоваться преимуществами лучшей в своем классе технологии.
  • Масштабируемость: Вы можете открывать тысячи сессий одновременно, так как этот браузер использует инфраструктуру Bright Data для обработки всех запросов.
  • Совместимость с Puppeteer и Playwright: Этот браузер позволяет выполнять вызовы API и получать любое количество сеансов браузера с помощью Puppeteer (Python) или Playwright (Node.js).
  • Экономия времени и ресурсов: Вместо того чтобы настраивать прокси-серверы, Scraping Browser делает все в фоновом режиме. Вам также не придется создавать собственную инфраструктуру, поскольку этот инструмент позаботится обо всем в фоновом режиме.

Как настроить Scraping Browser

  • Перейдите на сайт Bright Data и нажмите на Scraping Browser на вкладке «Scraping Solutions».
  • Создайте учетную запись. Вы увидите два варианта: «Начать бесплатную пробную версию» и «Начать бесплатно с Google». Давайте пока выберем «Начать бесплатную пробную версию» и перейдем к следующему шагу. Вы можете либо создать аккаунт вручную, либо использовать свой аккаунт Google.
  • Когда ваша учетная запись будет создана, на приборной панели появится несколько опций. Выберите «Прокси и инфраструктура парсинга».
  • В новом открывшемся окне выберите Scraping Browser и нажмите «Начать работу».
  • Сохраните и активируйте свои конфигурации.
  • Активируйте бесплатную пробную версию. Первый вариант дает вам кредит в размере $5, который вы можете использовать для оплаты использования прокси. Нажмите на первый вариант, чтобы опробовать этот продукт. Однако если вы являетесь активным пользователем, вы можете выбрать второй вариант, который дает вам $50 бесплатно, если вы пополните свой счет на $50 или более.
  • Введите информацию для выставления счета. Не волнуйтесь, поскольку платформа не будет взимать с вас никаких денег. Информация для выставления счета просто подтверждает, что вы новый пользователь и не ищете халявы, создавая несколько аккаунтов.
  • Создайте новый прокси. После того как вы сохранили свои платежные данные, вы можете создать новый прокси. Нажмите на значок «добавить» и выберите Scraping Browser в качестве «Тип прокси». Нажмите на «Добавить прокси» и перейдите к следующему шагу.
  • Создайте новую «зону». Появится окно с вопросом, хотите ли вы создать новую зону; нажмите «Да» и продолжите.
  • Нажмите «Проверить код и примеры интеграции». Теперь вы получите примеры интеграции Proxy, которые вы можете использовать для извлечения данных с целевого веб-сайта. Вы можете использовать Node.js или Python для извлечения данных с целевого сайта.

Как извлечь данные с веб-сайта

Теперь у вас есть все необходимое для извлечения данных с веб-сайта. Мы будем использовать наш сайт, geekflare.com, чтобы продемонстрировать, как работает Scraping Browser. Для этой демонстрации мы будем использовать node.js. Вы можете следовать за нами, если у вас установлен node.js.

Выполните следующие шаги:

  • Создайте новый проект на вашей локальной машине. Перейдите в папку и создайте файл, назвав его script.js. Мы запустим код парсинга локально и отобразим результаты в терминале
  • Откройте проект в вашем любимом редакторе кода. Я использую VsCode.
  • Установите puppeteer. Используйте эту команду; npm i puppeteer-core
  • Добавьте этот код в файл script.js:
const puppeteer = require('puppeteer-core');     // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'  const auth='USERNAME:PASSWORD';  async function run(){    let browser;    try {      browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`});      const page = await browser.newPage();      page.setDefaultNavigationTimeout(2*60*1000);      await page.goto('https://example.com');      const html = await page.evaluate(() => document.documentElement.outerHTML);      console.log(html);    }     catch(e) {      console.error('run failed', e);    }     finally {      await browser?.close();    }  }  if (require.main==module)       run();
  • Измените содержимое на const auth=’USERNAME:PASSWORD’; с данными вашей учетной записи. Проверьте имя пользователя, имя зоны и пароль на вкладке «Параметры доступа».
  • Введите целевой URL-адрес. В моем случае я хочу извлечь данные обо всех авторах на сайте geekflare.com, расположенном по адресу https://geekflare.com/authors.

Я изменю свой код в строке 10 следующим образом:

await page.goto(‘<a href=»https://geekflare.com/authors/» target=»_blank» rel=»noopener»>https://geekflare.com/authors/</a>’);

Теперь мой окончательный код будет таким:

const puppeteer = require('puppeteer-core');     // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'  const auth='brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c';  async function run(){    let browser;    try {      browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`});      const page = await browser.newPage();      page.setDefaultNavigationTimeout(2*60*1000);      await page.goto('https://geekflare.com/authors/');      const html = await page.evaluate(() => document.documentElement.outerHTML);      console.log(html);    }     catch(e) {      console.error('run failed', e);    }     finally {      await browser?.close();    }  }  if (require.main==module)       run();
  • Запустите свой код с помощью этой команды:
node script.js

Как экспортировать данные

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

Вы можете изменить содержимое кода следующим образом:

const puppeteer = require('puppeteer-core');  const fs = require('fs');  // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'  const auth = 'brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c';  async function run() {    let browser;    try {      browser = await puppeteer.connect({ browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222` });      const page = await browser.newPage();      page.setDefaultNavigationTimeout(2 * 60 * 1000);      await page.goto('https://geekflare.com/authors/');      const html = await page.evaluate(() => document.documentElement.outerHTML);      // Write HTML content to a file      fs.writeFileSync('data.html', html);      console.log('Data export complete.');    } catch (e) {      console.error('run failed', e);    } finally {      await browser?.close();    }  }  if (require.main == module) {    run();  }

Теперь вы можете запустить код с помощью этой команды:

node script.js

Как видно на следующем снимке экрана, терминал выводит сообщение «экспорт данных завершен».

Если мы проверим папку нашего проекта, то увидим файл с именем data.html с тысячами строк кода.

Что можно извлечь с помощью браузера Scraping?

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

Часто задаваемые вопросы

Законно ли извлечение данных и парсинг?

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

Является ли Scraping Browser бесплатным инструментом?

Нет. Scraping Browser — это платная услуга. Если вы зарегистрируетесь на бесплатную пробную версию, инструмент предоставит вам кредит в размере $5. Платные пакеты начинаются от $15/ГБ + $0,1/ч. Вы также можете выбрать опцию Pay As You Go, которая начинается от $20/ГБ + $0,1/ч.

В чем разница между Scraping Browsers и Headless Browsers?

Scraping Browser — это headful browser, что означает, что он имеет графический интерфейс пользователя (GUI). С другой стороны, безголовые браузеры не имеют графического интерфейса. Безголовые браузеры, такие как Selenium, используются для автоматизации парсинга, но иногда они ограничены, поскольку им приходится иметь дело с CAPTCHA и обнаружением ботов.

Подведение итогов

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