CoderCastrov logo
CoderCastrov
Парсер

Исследование ключевых особенностей сканера Crawlbase

Исследование ключевых особенностей сканера Crawlbase
просмотров
7 мин чтение
#Парсер

В сегодняшнем быстро меняющемся цифровом мире извлечение и анализ веб-данных стали более важными, чем когда-либо для компаний, стремящихся получить конкурентное преимущество. Среди огромного количества решений для парсинга веб-страниц, Crawlbase выделяется предлагаемым разнообразием инновационных продуктов, специально разработанных для эффективного парсинга веб-сайтов и извлечения ценных данных. Одним из флагманских предложений Crawlbase является мощный "Сканер" - передовой инструмент, который предоставляет пользователям возможность асинхронно отправлять ему URL-адреса с помощью Crawling API. В свою очередь, сканер тщательно обрабатывает эти запросы и без проблем отправляет извлеченные данные веб-страницы на webhook вашего сервера в режиме реального времени. Этот интеллектуальный и оптимизированный рабочий процесс устраняет необходимость в непрерывном опросе и обеспечивает мгновенный доступ к свежим извлеченным данным. Это значительно ускоряет получение данных, позволяя эффективно парсить большие объемы информации.

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

Создание веб-скрапера Crawlbase

Чтобы использовать веб-скрапер Crawlbase, сначала необходимо создать его на панели управления вашей учетной записи Crawlbase. В зависимости от ваших потребностей, вы можете создать два типа скраперов: TCP или JavaScript. Используйте TCP скрапер для парсинга статических страниц. Используйте JS скрапер, когда контент, который вам нужно спарсить, генерируется с помощью JavaScript, либо потому что это страница, построенная на JavaScript (React, Angular и т.д.), либо потому что контент динамически генерируется в браузере. Давайте создадим TCP скрапер для примера.

1. Создание вебхука

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

Давайте создадим простой вебхук для получения ответов в фреймворке Python Django. Убедитесь, что у вас установлены Python и Django. Чтобы создать простой приемник вебхука с использованием Django в Python, выполните следующие шаги:

Шаг 1: Создайте новый проект Django и приложение с помощью следующих команд:

Шаг 2: В директории webhook_app создайте файл views.py и определите представление для получения данных вебхука:

Шаг 3: Настройте маршрутизацию URL В директории webhook_project отредактируйте файл urls.py, чтобы добавить шаблон URL для приемника вебхука:

Шаг 4: Запустите сервер разработки Django Запустите сервер разработки Django, чтобы протестировать приемник вебхука:

Приложение будет запущено на localhost порту 8000.

После создания вебхука следующим шагом является обеспечение его доступности в Интернете. Для этого мы можем использовать ngrok. Поскольку наш вебхук работает на localhost с портом 8000, нам нужно запустить ngrok на порту 8000.

2. Создание нового парсера с панели управления Crawlbase

После запуска ngrok на порту 8000 мы видим, что ngrok предоставляет общедоступный URL-адрес переадресации, который мы можем использовать для создания парсера. С бесплатной версией ngrok эта ссылка автоматически истекает через 2 часа. Теперь давайте создадим парсер на панели управления.

Если вы не хотите создавать свой собственный вебхук и хранить данные, которые генерирует ваш парсер, в безопасном месте, Crawlbase предлагает безупречное решение через свой API облачного хранилища. Настроив ваш парсер на использование конечной точки вебхука Storage, вы можете легко сохранять ваши ценные данные, полученные при парсинге, с дополнительной конфиденциальностью и контролем. Для этого вы можете выбрать опцию хранения Crawlbase при создании парсера на панели управления.

Вы можете узнать больше в Crawlbase Storage API.

Отправка URL-адресов в Crawler

Мы создали Crawler с именем "test-crawler". Теперь следующий шаг - отправить URL-адреса, которые мы хотим просканировать, в Crawler. Для этого необходимо использовать Crawling API с двумя дополнительными параметрами: "callback=true" и "crawler=YourCrawlerName", чтобы отправить URL-адреса. По умолчанию вы можете отправлять до 30 URL-адресов каждую секунду в Crawler. Этот лимит может быть изменен по запросу в службу поддержки. Давайте рассмотрим пример на языке Python, который использует библиотеку Crawlbase, предоставленную Crawlbase, для отправки URL-адресов в Crawler.

Output:

После запуска приведенного выше кода Crawling API отправит все URL-адреса в очередь Crawler. Одна вещь, которую следует отметить в выводе, - это то, что мы получаем только rid (Request ID) от Crawler без каких-либо результатов. Это происходит потому, что Crawler дал нам только rid, чтобы мы могли отслеживать запросы и продолжать отправлять URL-адреса, не тратя время на выполнение Crawling Crawler. Это асинхронная возможность, предоставляемая Crawler. Нам не нужно беспокоиться о выходном ответе, так как он будет автоматически отправлен (после готовности) на вебхук, который мы указали при создании Crawler. Crawler предлагает несколько API, о которых вы можете прочитать здесь.

Примечание: Общий объем всех ожидающих очередей Crawler ограничен 1 миллионом страниц. Если любая из очередей или все очереди вместе превышают 1 миллион страниц, ваша отправка Crawler временно приостановится, и мы уведомим вас по электронной почте. Отправка Crawler автоматически возобновится, когда количество страниц в очереди(ях) станет менее 1 миллиона страниц.

Получение данных от Краулера

После отправки URL-адресов Краулеру, Краулер будет обходить страницу, связанную с каждым URL-адресом, и отправлять ответ с обработанным HTML веб-хуком.

Формат ответа по умолчанию - HTML. Если вы хотите получить ответ в формате JSON, вы можете передать параметр запроса "format=json" с помощью Crawling API при отправке данных Краулеру. JSON-ответ будет выглядеть так:

{
  "url": "https://example.com",
  "html": "<html>...</html>"
}

В нашем примере мы получили 3 запроса от Краулера, так как мы отправили только 3 URL-адреса.

<img
  src="/blogs/f500d02030.jpg"
  width="700"
  height="160"
  alt=""
  sizes="100vw"
/>

Как указано в веб-хуке, мы закодировали сохранение тела запроса в файл .txt. Мы сможем увидеть весь HTML-контент в этом файле, например, так:

<img
  src="/blogs/532be71c86.jpg"
  width="700"
  height="720"
  alt=""
  sizes="100vw"
/>

Получив HTML на вашем веб-хуке, вы можете парсить из него все, что вам нужно, в зависимости от ваших потребностей. Также вы можете в любое время изменить URL веб-хука вашего Краулера из панели управления Crawlbase. Каждый раз, когда Краулер доставляет ответ на веб-хук, и ваш сервер не может отправить успешный ответ, Краулер будет повторно обходить страницу и повторно доставлять ответ. Эти повторные попытки считаются успешными запросами и взимаются плату. Кроме того, если ваш веб-хук перестает работать, Мониторинговый бот Crawlbase обнаружит это и приостановит Краулер. Краулер автоматически возобновится, когда веб-хук снова заработает. Вы можете связаться с технической поддержкой Crawlbase, чтобы изменить эти настройки по необходимости. Для более полного понимания обратитесь к документации Краулера Crawlbase.

В дополнение к стандартному механизму обратного вызова, Crawlbase предоставляет дополнительную функцию, которая позволяет вам получать пользовательские заголовки через параметр "callback_headers". Это улучшение позволяет передавать дополнительные данные для целей идентификации, облегчая более персонализированную и эффективную интеграцию с вашими системами.

Формат для пользовательских заголовков выглядит следующим образом:

HEADER-NAME:VALUE|HEADER-NAME2:VALUE2|и-так-далее

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

Для этих пар заголовков и значений { "id": 123, "type": "etc" }

&callback_headers=id%3A123%7Ctype%3Aetc

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

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

Заключение

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

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

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

В: Какие преимущества использования Парсера по сравнению с его отсутствием?

В: Почему мне следует использовать Парсер?

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

В: Нужно ли мне использовать Python для использования Парсера?

Нет, вам не обязательно использовать исключительно Python для использования Парсера Crawlbase. Парсер предоставляет несколько библиотек для различных языков программирования, позволяя пользователям взаимодействовать с ним с использованием предпочитаемого языка. Независимо от того, насколько вам удобен Python, JavaScript, Java, Ruby или другие языки программирования, Crawlbase вас поддерживает. Кроме того, Crawlbase предлагает API, которые позволяют пользователям получить доступ к возможностям Парсера, не полагаясь на конкретные библиотеки, что делает его доступным для широкого круга разработчиков с разными предпочтениями языка и техническими навыками. Эта гибкость обеспечивает безпроблемную интеграцию Парсера в ваши проекты и рабочие процессы с использованием языка, который лучше всего соответствует вашим потребностям.


Оригинальная публикация на https://crawlbase.com.