CrawlbaseАвтора Crawler является универсальным Роботы который позволяет извлекать онлайн-данные в нужном масштабе. Crawler упрощает процесс сканирования, позволяя вам удобно и достоверно собирать большие данные. Это то, что вам нужно, чтобы взять под контроль веб-скрапинг и получить данные, необходимые для ваших бизнес-требований.

The Crawler без усилий справляется с браузерами JavaScript, очередями, прокси, конвейерами данных и другими трудностями веб-скрейпинга. Это позволяет вам максимально эффективно извлекать данные и получать информацию в Интернете без каких-либо проблем.

К концу этого урока вы научитесь использовать Crawler для извлечения данных из интернет-источников.

Что мы рассмотрим

  • В чём Crawler?
  • Как Crawler работает
  • Как создать локальный вебхук
  • Как раскрыть локальный сервер
  • Как создать краулер
  • Как отправить Crawler запросить

Что вам понадобится

Готовы?

Давайте идти…

В чём Crawler?

Построен на вершине Crawling API, Crawler это push-система, которая позволяет вам легко и быстро извлекать данные. Она работает асинхронно поверх Crawling API.

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

The Crawler обеспечивает следующие преимущества:

  • Легко добавляйте собранные данные в свои приложения, не испытывая сложностей, связанных с управлением очередями, блокировками, прокси-серверами, капчами, повторными попытками и другими узкими местами веб-сканирования.
  • Передавайте просканированные данные в нужную конечную точку веб-перехватчика, что позволяет легко интегрировать данные в ваш конкретный вариант использования.
  • Выполняйте расширенный веб-скрапинг на любых типах веб-сайтов, включая сложные, поддерживающие рендеринг JavaScript.
  • Анонимно собирайте данные, не беспокоясь о раскрытии своей личности.
  • Собирайте данные онлайн, используя простую модель ценообразования, которая не требует долгосрочных контрактов. Вы платите только за успешные запросы.

Как Crawler работает

Как упоминалось ранее, Crawler работает поверх Crawling API. Это позволяет расширить возможности Crawling API и извлекать данные легко и беспрепятственно.

Вот как сделать запрос с помощью Crawling API:

https://api.crawlbase.com/?token=add_token&url=add_url

Как вы можете видеть выше, кроме базовой части URL, Crawling API требуются следующие два обязательных параметра строки запроса:

  • Уникальный токен авторизации, который Crawlbase предоставляет для авторизации использования API. Вы можете использовать либо обычный токен для выполнения общих веб-запросов, либо токен JavaScript для выполнения расширенных реальных запросов браузера.
  • URL веб-сайта, который вы хотите скрейпить. Он должен начинаться с HTTP или HTTPS. Он также должен быть закодирован для обеспечения корректной передачи через Интернет.

При работе с CrawlerПомимо двух указанных выше параметров строки запроса, вам необходимо добавить следующие два обязательных параметра:

  • Параметр обратного вызова — &обратный вызов=истина
  • Имя вашего поискового робота (позже мы увидим, как создать поисковый робот) — &crawler=добавить_имя_искателя

Так что ваши Crawler Запрос будет выглядеть так:

https://api.crawlbase.com?token=add_token&callback=true&crawler=add_crawler_name&url=add_url

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

Вебхук должен соответствовать следующим условиям:

  • Он должен быть доступен общественности Crawlbase сервера.
  • Его следует настроить на прием HTTP-запросов POST и отправку ответа в течение 200 миллисекунд с кодом состояния 200, 201 или 204.

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

По умолчанию данные структурированы с использованием формата HTML, то есть как &формат=html. Вы также можете указать получение данных в формате JSON с помощью & format = json параметр строки запроса.

Как создать локальный вебхук

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

Для этого руководства мы будем использовать фреймворк веб-приложений Express Node.js для создания локального сервера webhook на нашей машине. Затем мы будем использовать ngrok, чтобы сделать наш локальный сервер безопасным для доступа через Интернет. Это гарантирует, что наш webhook будет доступен публично Crawlbase сервера.

Для начала создайте новый каталог в среде разработки, перейдите в него в окне терминала и выполните следующую команду для инициализации нового проекта Node.js:

инициализация нпм

Далее устанавливаем фреймворк Express:

npm установить экспресс

Далее создайте файл с именем сервер.js и добавьте следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// импорт экспресс
Const экспресс = требовать('выражать');

// инициализируем Express и определяем порт
Const приложение = экспресс();
Const PORT = 3000;

// сказать Express преобразовать входящие необработанные данные в строку
приложениеиспользуют (выражать.текст({ предел: '2мб' }));

// анализ входящих запросов с полезными данными в формате urlencoded
приложениеиспользуют (выражать.урленкодированный({ расширенная: правда }));

// настройка маршрута веб-перехватчика
приложениепосле('/', (req, res) => {
консоль.журнал(треб.Заголовки); // доступ ко всем заголовкам HTTP API

консоль.журнал(треб.тело); // вывести просканированные данные на консоль

Рез.статус(200).конец(); // ответ важен
});

приложениеСлушать(PORT, () => консоль.журнал(`🚀 Вебхук, работающий на порту ${ПОРТ}`));

Код выше может показаться вам знакомым, если вы работали с Express раньше. Мы начали с инициализации Express и определения порта.

Далее мы использовали встроенный экспресс.текст() Функция middleware для разбора входящих необработанных данных body и возврата их в виде простой строки. Мы использовали ее, потому что Crawlbase использует тип содержимого text/plain в заголовках API.

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

Мы также использовали встроенный экспресс.urlencoded() Функция промежуточного программного обеспечения для анализа входящих запросов с urlencoded полезными нагрузками и преобразования их в формат, который мы можем использовать. Мы передали расширенная параметр свойства в функцию, чтобы указать, что нам нужно использовать qs Библиотека анализа и преобразования строк запросов.

Обратите внимание, что мы сказали Express использовать промежуточное ПО перед определением маршрута вебхука. Это заставит их выполняться до маршрута, гарантируя, что маршрут сможет получить доступ к проанализированным данным в теле HTTP POST.

Далее мы настраиваем простой маршрут вебхука для обработки входящего звонка. Мы создали его в http://localhost:3000/ для обработки запроса.

Мы использовали тело собственность REQ объект для регистрации просканированных данных на консоли. Мы также получили доступ ко всей информации заголовка запроса API с помощью Заголовки имущество.

Также крайне важно быстро ответить кодом статуса HTTP 2xx. Crawlbase Crawler требует ответа в течение 200 миллисекунд.

Далее, чтобы запустить простое приложение Express webhook, выполните следующую команду:

узел server.js

Не забудьте оставить локальный сервер работающим; не закрывайте его.

Как раскрыть локальный сервер

Следующая задача — использовать ngrok для раскрытия локального работающего сервера миру. Существует несколько способов настройки ngrok. Для этого руководства мы скачать нгрок распакуйте файл ngrok.exe и сохраните его в папке на локальном компьютере.

Чтобы запустить ngrok, запустите другой терминал, перейдите в каталог, где хранится исполняемый файл, и выполните следующую команду:

нгрок http 3000

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

После запуска ngrok, он отобразит пользовательский интерфейс с публичным URL, куда перенаправляется локальный сервер. Это URL, который мы будем использовать для создания краулера на Crawlbase's dashboard. Пользовательский интерфейс также отображает другую информацию о статусе и показателях.

Выставить локальный сервер

Как создать краулер

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

Вам нужно перейти к Crawlbase's приборная панель и создать краулер здесь.

Создавай Crawler

Вам нужно будет указать уникальное имя, которое идентифицирует ваш краулер. В разделе URL обратного вызова давайте введем публичный URL ngrok, который мы создали ранее. Это то место, куда будут доставлены просканированные данные.

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

Когда закончите, щелкните Создать сканер .

Затем вы увидите свой сканер на Crawlerстраница с.

Как отправить Crawler запросить

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

Существует множество способов делать HTTP-запросы в Node.js. Для этого урока мы будем использовать облегченный Crawlbase Библиотека Node.js.

Откройте еще одно окно терминала и установите его:

npm установить crawlbase

Далее создайте файл с именем запрос.js и добавьте следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
Const { CrawlingAPI знак равно требовать('crawlbase');
Const API = новый CrawlingAPI({ знак: 'add_token' });
API
.получить('https://www.forextradingbig.com/10-facts-you-must-know-online-forex-trading/', {
Перезвони: 'правда',
гусеничный: 'myproxycrawler',
})
.тогда((ответ) => {
if (ответ.код состояния === 200) {
консоль.журнал(ответ.тело);
}
})
.поймать((ошибка) => консоль.ошибка);

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

узел request.js

Если запрос успешен, Crawler отправляет обратно JSON-представление с уникальным идентификатором RID. Вы можете использовать RID для идентификации запроса в будущем.

Вот какой ответ мы получили:

Идентификатор RID

Если мы проверим наш сервер веб-перехватчиков, то увидим, что HTML-контент целевой страницы был успешно просканирован:

Ngrok UI

Обратите внимание, что на сервере веб-перехватчика был получен тот же RID, что и в ответе на push-уведомление.

Пользовательский интерфейс ngrok также показывает, что запрос POST был выполнен успешно:

Опубликовать запрос

Это оно!

Заключение

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

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

Если вы хотите узнать больше о том, как использовать API, проверьте его документация здесь.

Открыть создать бесплатно Crawlbase учетную запись и начать использовать Crawler.