# параметры
API имеет следующие параметры: Обязательными являются только токен и URL, остальные необязательны.
# знак
- необходимые
- Тип
string
Этот параметр обязателен для всех вызовов.
Это ваш токен аутентификации. У вас есть два токена: один для обычных запросов и другой для запросов JavaScript.
Используйте токен JavaScript, когда контент, который необходимо сканировать, генерируется с помощью JavaScript, либо потому, что это страница, созданная с помощью JavaScript (React, Angular и т. д.), либо потому, что контент динамически генерируется в браузере.
Обычный токен
_USER_TOKEN_
JavaScript-токен
_JS_TOKEN_
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# URL
- необходимые
- Тип
string
Этот параметр обязателен для всех вызовов.
Вам понадобится URL для сканирования. Убедитесь, что он начинается с http или https и что полностью закодирован.
Например, в следующем URL-адресе: https://github.com/crawlbase?tab=repositories
URL-адрес должен быть закодирован при вызове API следующим образом: https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# формат
- По желанию
- Тип
string
Указывает формат ответа, либо json
or html
. По умолчанию html
.
Если формат html
используется, Crawlbase отправит вам обратно параметры ответа в заголовках (см. HTML-ответ ниже).
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories&format=json"
# довольно
- По желанию
- Тип
boolean
Если вы ожидаете json
ответ, вы можете оптимизировать его читаемость, используя &pretty=true
.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories&format=json&pretty=true"
# user_agent
- По желанию
- Тип
string
Если вы хотите сделать запрос с помощью пользовательского агента, вы может�� передать его здесь, и наши серверы перенаправят его на запрошенный URL.
Мы рекомендуем НЕ используйте этот параметр и позвольте нашему искусственному интеллекту справиться с этим.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&user_agent=Mozilla%2F5.0+%28Macintosh%3B+Intel+Mac+OS+X+10_12_5%29+AppleWebKit%2F603.2.4+%28KHTML%2C+like+Gecko%29+Version%2F10.1.1+Safari%2F603.2.4&url=https%3A%2F%2Fpostman-echo.com%2Fheaders"
# страница_ожидание
- По желанию
- Тип
number
Если вы используете токен JavaScript, вы можете дополнительно передать page_wait
параметр для ожидания количества миллисекунды до того, как браузер захватит полученный HTML-код.
Это полезно в случаях, когда отрисовка страницы занимает несколько секунд или необходимо загрузить какой-либо ajax-код перед захватом HTML-кода.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&page_wait=1000&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# ajax_wait
- По желанию
- Тип
boolean
Если вы используете токен JavaScript, вы можете дополнительно передать ajax_wait
параметр для ожидания завершения ajax-запросов перед получением html-ответа.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&ajax_wait=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# css_click_selector
- По желанию
- Тип
string
# Одиночный селектор CSS
Если вы используете токен JavaScript, вы можете дополнительно передать css_click_selector
параметр для щелчка по элементу на странице, прежде чем браузер захватит полученный HTML-код.
Этот параметр принимает полностью указанный и действительный селектор CSS. Например, вы можете использовать селектор ID, такой как #some-button
, селектор класса, например .some-other-button
или селектор атрибутов, такой как [data-tab-item="tab1"]
. Важно убедиться, что селектор CSS правильно закодирован, чтобы избежать ошибок.
Обратите внимание: если селектор не найден на странице, запрос завершится ошибкой pc_status
595
. Чтобы получить ответ, даже если селектор не найден, вы можете добавить универсально найденный селектор, например body
, как запасной вариант. Например: #some-button,body
.
# Несколько селекторов CSS
Для учета сценариев, в которых может потребоваться последовательно нажать на несколько элементов перед захватом содержимого страницы, css_click_selector
параметр теперь может принимать несколько селекторов CSS. Разделяйте каждый селектор вертикальной чертой (|
) символ. Убедитесь, что все значение, включая разделители, закодировано в URL, чтобы избежать проблем с анализом.
Предположим, вы хотите нажать кнопку с идентификатором start-button
а затем ссылка на класс next-page-link
. Вы бы построили свой css_click_selector
такой параметр:
- Оригинальные селекторы:
#start-button|.next-page-link
- URL-кодированный:
%23start-button%7C.next-page-link
Добавьте этот параметр к вашему API-запросу, чтобы гарантировать, что оба элемента будут нажаты в указанном порядке.
Пожалуйста, убедитесь, что все предоставленные селекторы действительны и присутствуют на странице, чтобы избежать ошибок. Если какой-либо селектор не найден, запрос будет придерживаться обработки ошибок, указанной выше, и завершится с ошибкой pc_status
595
если не включен резервный селектор.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&css_click_selector=%5Bdata-tab-item%3D%22overview%22%5D&page_wait=1000&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# устройство
- По желанию
- Тип
string
При желании, если вы не хотите указывать user_agent, но хотите получать запросы с определенного устройства, вы можете использовать этот параметр.
Доступны два варианта: desktop
и mobile
.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&device=mobile&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# get_cookies
- По желанию
- Тип
boolean
При желании, если вам нужно получить файлы cookie, которые исходный веб-сайт устанавливает в ответе, вы можете использовать &get_cookies=true
Параметр.
Файлы cookie будут возвращены в заголовке (или в ответе JSON, если вы используете &format=json
) как original_set_cookie
.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&get_cookies=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# получить_заголовки
- По желанию
- Тип
boolean
При желании, если вам нужно получить заголовки, которые исходный веб-сайт устанавливает в ответе, вы можете использовать &get_headers=true
Параметр.
Заголовки будут возвращены в ответе как original_header_name
по умолчанию. Когда &format=json
передан, заголовок вернется как original_headers
.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&get_headers=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# заголовки_запроса
- По желанию
- Тип
string
При желании, если вам необходимо отправить заголовки запроса на исходный сайт, вы можете использовать &request_headers=EncodedRequestHeaders
Параметр.
Примеры заголовков запроса: принять-язык:en-GB|принять-кодирование:gzip
Пример кодировки: &request_headers=accept-language%3Aen-GB%7Caccept-encoding%3Agzip
Обратите внимание, что не все заголовки запросов разрешены API. Мы рекомендуем вам тестировать заголовки, отправленные с помощью этого тестового URL: https://postman-echo.com/headers
Если вам необходимо отправить дополнительные заголовки, которые не разрешены API, сообщите нам имена заголовков, и мы разрешим их для вашего токена.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&request_headers=accept-language%3Aen-GB%7Caccept-encoding%3Agzip&url=https%3A%2F%2Fpostman-echo.com%2Fheaders"
# set_cookies
- По желанию
- Тип
string
При желании, если вам необходимо отправлять файлы cookie на исходный сайт, вы можете использовать &cookies=EncodedCookies
Параметр.
Примеры файлов cookie: key1=value1; key2=value2; key3=value3
Пример кодировки: &cookies=key1%3Dvalue1%3B%20key2%3Dvalue2%3B%20key3%3Dvalue3
Мы рекомендуем вам протестировать отправленные файлы cookie, используя этот тестовый URL: https://postman-echo.com/cookies
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&cookies=key1%3Dvalue1%3B%20key2%3Dvalue2%3B%20key3%3Dvalue3&url=https%3A%2F%2Fpostman-echo.com%2Fcookies"
# cookies_session
- По желанию
- Тип
string
Если вам необходимо отправлять файлы cookie, которые возвращаются при каждом запросе, на все последующие вызовы, вы можете использовать &cookies_session=
Параметр.
Команда &cookies_session=
параметр может иметь любое значение. Просто отправьте новое значение, чтобы создать новый сеанс cookie (это позволит вам отправлять возвращаемые cookie из последующих вызовов в следующие вызовы API с этим значением сеанса cookie). Значение может быть максимум 32 символа, а сеансы истекают через 300 секунд после последнего вызова API.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&cookies_session=1234abcd&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# Скриншот
- По желанию
- Тип
boolean
Если вы используете JavaScript-токен, вы можете по желанию передать &screenshot=true
параметр для получения снимка экрана в JPEG
формат всей просканированной страницы.
Crawlbase отправлю вам обратно screenshot_url
в заголовках ответа (или в ответе json, если вы используете &format=json
). screenshot_url
истекает через час.
Примечание: При использовании screenshot=true
параметр, вы можете настроить вывод скриншота с помощью следующих дополнительных параметров:
mode
: Установлен вviewport
для захвата только области просмотра вместо полной страницы. По умолчаниюfullpage
.width
: Укажите максимальную ширину в пикселях (работает только сmode=viewport
). По умолчанию — ширина экрана.height
: Укажите максимальную высоту в пикселях (работает только сmode=viewport
). По умолчанию — высота экрана.
Пример: &screenshot=true&mode=viewport&width=1200&height=800
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&screenshot=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# магазин
- По желанию
- Тип
boolean
По желанию пройти &store=true
параметр для сохранения копии ответа API в Crawlbase Cloud Storage (открывается новое окно) (opens new window).
Crawlbase отправлю вам обратно storage_url
в заголовках ответа (или в ответе json, если вы используете &format=json
).
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&store=true&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories"
# скребок
- По желанию
- Тип
string
Возвращает информацию, проанализированную в соответствии с указанным скрапером. Проверьте список всех доступных скребков данных (открывается новое окно) (opens new window) список всех доступных скраперов данных, чтобы увидеть, какой из них выбрать.
Ответ будет возвращен в формате JSON.
Пожалуйста, обратите внимание: Scraper — необязательный параметр. Если вы его не используете, вы получите полный HTML страницы, чтобы вы могли свободно его скрейпить.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&scraper=amazon-product-details&url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B7CBZZ16"
# асинхронной
- По желанию
- Тип
boolean
- В настоящее время поддерживается только linkedin.com с использованием этого параметра. Свяжитесь с нами, если вам нужны другие домены в асинхронном режиме.
По желанию пройти &async=true
параметр для асинхронного сканирования запрошенного URL. Crawlbase сохранит полученную страницу в Crawlbase Cloud Storage (открывается новое окно) (opens new window).
В результате звонка с async=true
, Crawlbase отправит вам обратно идентификатор запроса rid
в ответе json. Вам нужно будет сохранить RID для извлечения документа из хранилища. С RID вы можете затем использовать облако Storage API (открывается новое окно) (opens new window) для получения результирующей страницы.
Вы можете использовать async=true
параметр в сочетании с другими параметрами API, например &async=true&autoparse=true
.
Пример запроса с async=true
вызов:
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&async=true&url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fcrawlbase"
Пример ответа с async=true
вызов:
{ "rid": "1e92e8bff32c31c2728714d4" }
# автоанализ
- По желанию
- Тип
boolean
При желании, если вам необходимо получить извлеченные данные запрошенной вами страницы, вы можете передать &autoparse=true
Параметр.
Ответ вернется в формате JSON. Структура ответа зависит от отправленного вами URL.
Пожалуйста, обратите внимание: &autoparse=true
необязательный параметр. Если вы его не используете, вы получите полный HTML страницы, чтобы вы могли свободно его сканировать.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&autoparse=true&url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B7CBZZ16"
# страна
- По желанию
- Тип
string
Если вы хотите, чтобы ваши запросы были геолоцированы из определенной страны, вы можете использовать &country=
параметр, как &country=US
(двухбуквенный код страны).
Пожалуйста, примите во внимание, что указание страны может уменьшить количество успешных запросов, поэтому используйте эту возможность с умом и только в тех случаях, когда требуется сканирование геолокации.
Также обратите внимание, что некоторые сайты, такие как Amazon, маршрутизируются через различные специальные прокси-серверы, и все страны разрешены независимо от того, находятся ли они в списке или нет.
У вас есть доступ к следующим странам
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&country=US&url=https%3A%2F%2Fpostman-echo.com%2Fip"
# tor_network
- По желанию
- Тип
boolean
Если вы хотите сканировать onion-сайты через сеть Tor, вы можете передать &tor_network=true
Параметр.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_USER_TOKEN_&tor_network=true&url=https%3A%2F%2Fwww.facebookcorewwwi.onion%2F"
# пролистать
- По желанию
- Тип
boolean
Если вы используете JavaScript-токен, вы можете по желанию передать &scroll=true
для API это по умолчанию будет прокручивать в течение scroll_interval 10 секунд.
Если вы хотите прокрутить больше 10 секунд, отправьте &scroll=true&scroll_interval=20
. Эти параметры заставят браузер прокручивать страницу в течение 20 секунд после загрузки. Максимальный интервал прокрутки составляет 60 секунд, после 60 секунд прокрутки система собирает данные и возвращает их вам.
Интервал прокрутки по умолчанию составляет 10 секунд. Каждые 5 секунд успешной прокрутки считаются дополнительным запросом JS на Crawling API, поэтому предположим, что вы отправляете scroll_interval 20, наша система пытается прокрутить страницу максимум 20 секунд; если бы она смогла прокрутить только 10 секунд, было бы использовано только 2 дополнительных запроса вместо 4.
Примечание: Если вы собираетесь прокручивать в течение 90 секунд, убедитесь, что ваше соединение открыто не менее 60 секунд.
Важно: Некоторые домены требуют более высоких системных тайм-аутов, которые устанавливаются автоматически. В сочетании с scroll
и page_wait
параметры, это может привести к дополнительным запросам. Обратитесь �� службу поддержки, если вам нужно оптимизировать эти настройки для определенных доменов.
- curl
- ruby
- node
- php
- python
- go
curl "https://api.crawlbase.com/?token=_JS_TOKEN_&scroll=true&url=https%3A%2F%2Fwww.reddit.com%2Fsearch%2F%3Fq%3Dcrawlbase"