Crawling API / Exercism

Скрапер Exercism.
Каждый трек, полностью отрендеренный.

Отправьте любой URL Exercism и получите обратно полностью отрендеренный HTML через резидентные прокси со встроенной обработкой анти-бот-защиты.
Или получите структурированный JSON со скраперами exercism-serp, exercism-exercise, exercism-solutions и exercism-solution.

99% успешных запросов140M резидентных IP30 регионов
URL ExercismHTML or JSONexercism.org/tracks/ruby/exercisesCrawlbaseМаршрутизацияРендерингИзвлечениеОтрендеренный HTMLСтруктурированный JSONcrawling-apiexercism-solutionexercism.org · рендеринг + парсинг · 200
Живой поток краулинга · Exercism1.24M req/minСтриминг
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropCA90ms
200exercism.org/tracks/rust/exercises/reverse-stringJP68ms
200exercism.org/tracks/ruby/exercisesFR69ms
301exercism.org/tracks/python/exercisesAU219ms
200exercism.org/tracks/python/exercisesBR100ms
200exercism.org/tracks/rust/exercises/reverse-stringDE78ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsGB135ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsJP206ms
200exercism.org/tracks/javascript/exercisesBR93ms
200exercism.org/tracks/rust/exercisesGB88ms
200exercism.org/tracks/rust/exercises/reverse-string/solutions/gorbit99IN120ms
200exercism.org/tracks/go/exercisesSG201ms
200exercism.org/tracks/ruby/exercises/two-ferIN206ms
200exercism.org/tracks/go/exercises/weather-forecastNL82ms
200exercism.org/tracks/rust/exercisesUS169ms
200exercism.org/tracks/python/exercises/leapIN103ms
200exercism.org/tracks/ruby/exercises/high-scores/solutionsNL161ms
200exercism.org/tracks/python/exercises/guidos-gorgeous-lasagnaCA90ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsIN93ms
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropGB208ms
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropGB92ms
200exercism.org/tracks/csharp/exercisesFR198ms
200exercism.org/tracks/python/exercisesUS199ms
200exercism.org/tracks/python/exercisesDE60ms
200exercism.org/tracks/csharp/exercisesJP176ms
301exercism.org/tracks/ruby/exercises/two-ferJP106ms
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropCA90ms
200exercism.org/tracks/rust/exercises/reverse-stringJP68ms
200exercism.org/tracks/ruby/exercisesFR69ms
301exercism.org/tracks/python/exercisesAU219ms
200exercism.org/tracks/python/exercisesBR100ms
200exercism.org/tracks/rust/exercises/reverse-stringDE78ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsGB135ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsJP206ms
200exercism.org/tracks/javascript/exercisesBR93ms
200exercism.org/tracks/rust/exercisesGB88ms
200exercism.org/tracks/rust/exercises/reverse-string/solutions/gorbit99IN120ms
200exercism.org/tracks/go/exercisesSG201ms
200exercism.org/tracks/ruby/exercises/two-ferIN206ms
200exercism.org/tracks/go/exercises/weather-forecastNL82ms
200exercism.org/tracks/rust/exercisesUS169ms
200exercism.org/tracks/python/exercises/leapIN103ms
200exercism.org/tracks/ruby/exercises/high-scores/solutionsNL161ms
200exercism.org/tracks/python/exercises/guidos-gorgeous-lasagnaCA90ms
200exercism.org/tracks/ruby/exercises/two-fer/solutionsIN93ms
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropGB208ms
200exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthropGB92ms
200exercism.org/tracks/csharp/exercisesFR198ms
200exercism.org/tracks/python/exercisesUS199ms
200exercism.org/tracks/python/exercisesDE60ms
200exercism.org/tracks/csharp/exercisesJP176ms
301exercism.org/tracks/ruby/exercises/two-ferJP106ms
01 Живое демо

Четыре скрапера Exercism. Чистый JSON от каждого.

Четыре скрапера Exercism, вводятся вживую. exercism-serp перечисляет упражнения трека, exercism-exercise берёт одно упражнение с инструкциями, exercism-solutions ранжирует решения сообщества, а exercism-solution возвращает одно опубликованное решение с исходным кодом. Переключайте вкладки или наведите, чтобы приостановить и прочитать.

готово
клавиши 1-4 переключают · клик для паузызапустите свой URL
Запустите первый запрос за минуты. До 5 000 бесплатных запросов, без кредитной карты.Начать бесплатно
02 Возможности

Один API, каждый уголок Exercism.

Четыре специализированных скрапера покрывают важные страницы: списки упражнений трека, отдельные упражнения, списки решений сообщества и отдельные опубликованные решения. Crawling API рендерит каждую страницу в реальном браузере, достигает её через резидентные IP и выдаёт вам чистый HTML или JSON.

треки

Каждый языковой трек

exercism-serp превращает список упражнений любого трека в JSON: каждое упражнение с его slug, типом, заголовком, сложностью, описанием и статусом разблокировки, плюс число упражнений трека.

упражнения

Полные инструкции к упражнению

exercism-exercise возвращает обзор одного упражнения с его заголовком, сложностью и полными инструкциями как в виде текста, так и HTML.

решения

Списки решений сообщества

exercism-solutions возвращает постраничный список решений сообщества для упражнения, каждое с автором, языком, звёздами, комментариями, просмотрами, итерациями и отрывком.

исходный код

Полные опубликованные решения

Добавьте scraper=exercism-solution чтобы вернуть одно опубликованное решение с его полным исходным кодом, историей итераций, статусом тестов и автором.

прокси

140M резидентных IP

Каждый запрос ротирует резидентный IP по 30 регионам и преодолевает проверки бота автоматически. Ничего не нужно решать, ничего не нужно поддерживать.

один токен

Один API для каждой страницы

Crawling API работает с любым URL, поэтому один и тот же токен покрывает каждый трек Exercism и всё остальное, что вы краулите. Смотреть живое демо.

03 Вывод

Каждое поле решения как чистый JSON.

Отправьте URL решения с scraper=exercism-solution и решение возвращается типизированным JSON, включая исходный код. Замените на exercism-serp, exercism-exercise или exercism-solutions для списков, инструкций и решений сообщества.

{ "url": "https://exercism.org/tracks/ruby/exercises/two-fer/solutions/neilnorthrop", "track": { "slug": "ruby", "title": "Ruby" }, "exercise": { "slug": "two-fer", "type": "practice", "title": "Two Fer", "difficulty": "easy" }, "author": { "handle": "neilnorthrop" }, "language": "ruby", "numStars": 42, "numIterations": 2, "isOutOfDate": false, "publishedIterationIdx": 2, "publishedAt": "2021-03-14T09:12:07Z", "iterations": [ { "idx": 1, "testsStatus": "passed", "isPublished": false }, { "idx": 2, "testsStatus": "passed", "isPublished": true } ], "code": "def two_fer(name = \"you\")\n \"One for #{name}, one for me.\"\nend" }

Решение

url · string  track.title · string  language · string  numStars · number

Упражнение

exercise.slug · string  exercise.title · string  exercise.type · string  exercise.difficulty · string

Автор

author.handle · string  publishedAt · string  numIterations · number

Итерации

iterations[].idx · number  iterations[].testsStatus · string  iterations[].isPublished · boolean

Код

code · string  isOutOfDate · boolean  publishedIterationIdx · number

04 Как это работает

От URL до данных за один вызов.

Каждый запрос к Exercism проходит один и тот же путь. Вы отправляете URL, мы управляем всем остальным.

01

Отправьте URL

Передайте любой публичный URL Exercism с вашим токеном: список упражнений трека, упражнение, список решений или отдельное опубликованное решение.

02

Ротируйте прокси

Резидентный IP и регион, которые чисто достигают сайта, из 140M IP по 30 регионам.

03

Отрендерьте страницу

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

04

Преодолейте анти-бот

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

05

Верните HTML или JSON

Возвращается полностью отрендеренный HTML или типизированный JSON, когда вы добавляете exercism-serp, exercism-exercise, exercism-solutions или exercism-solution.

05 Сценарии использования

Что команды строят на данных Exercism.

USE / 01Обучение

Обучающие данные для кода и RAG

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

USE / 02Бенчмарки

Бенчмарки решений

Собирайте структурированные наборы данных решений по языкам, со звёздами, итерациями и статусом тестов, для оценки и бенчмарков.

USE / 03Учебный план

Синхронизация учебного плана и каталога

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

USE / 04Исследования

Исследования языков и стиля

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

USE / 05Контент

Пайплайны документации и контента

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

USE / 06Охват

Любой URL, один API

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

06 Заметки

Полезно знать при скрапинге Exercism.

Четыре скрапера, четыре типа страниц

exercism-serp читает список упражнений трека, exercism-exercise - одно упражнение, exercism-solutions - список решений сообщества, а exercism-solution - одно опубликованное решение с его кодом.

HTML по умолчанию, JSON по запросу

Вы получаете полностью отрендеренный HTML. Добавьте scraper=exercism-serp, exercism-exercise, exercism-solutions или exercism-solution для распарсенного JSON или парсите HTML сами.

Списки решений постраничны

exercism-solutions возвращает page, totalPages, totalCount и solutionCount вместе с массивом решений, поэтому вы можете пройти каждую страницу для упражнения.

Достигайте сайта откуда угодно

Геотаргетинг по 30 регионам и 140M резидентных IP означает стабильный доступ без управления прокси.

07 Почему Crawlbase

Создано для краулинга Exercism в масштабе.

Crawling API работает на той же сети, что обслуживает более 46 000 платящих клиентов и 70 000 разработчиков. Никаких прокси для покупки, никаких браузеров для запуска, ничего не нужно патчить, когда сайт меняется.

99%
Средний процент успешных запросов
140M
Резидентных IP, плюс 98M датацентровых
30
Регионов для точных локальных результатов
20/s
Запросов в секунду по умолчанию, больше по запросу

Один токен, официальные SDK для Python, Node и Ruby и сеть с аптаймом 99,99% под капотом.

08 FAQ

Вопросы о скрапинге Exercism.

Отправьте любой URL Exercism в Crawlbase Crawling API с вашим токеном. Crawlbase ротирует резидентный прокси, рендерит страницу в реальном браузере, преодолевает проверки бота и возвращает полностью отрендеренный HTML. Добавьте специализированный скрапер (scraper=exercism-serp, exercism-exercise, exercism-solutions или exercism-solution), чтобы вместо этого получить структурированный JSON.
Да. По умолчанию Crawling API возвращает отрендеренный HTML; добавьте специализированный скрапер, чтобы получить структурированный JSON: exercism-serp для списка упражнений трека, exercism-exercise для одного упражнения, exercism-solutions для списка решений сообщества и exercism-solution для одного опубликованного решения с его итерациями и кодом.
Списки упражнений трека, страницы отдельных упражнений, списки решений сообщества и отдельные опубликованные решения по каждому языковому треку на exercism.org. Тот же API работает и на любом другом сайте.
Crawlbase маршрутизирует каждый запрос через ротирующиеся резидентные IP по 30 регионам и преодолевает проверки бота автоматически, поэтому доступ остаётся стабильным, и нечего поддерживать, когда сайт меняет свою конфигурацию.
exercism-serp возвращает список упражнений трека, каждая запись с её slug, типом, заголовком, сложностью, описанием и статусом разблокировки. exercism-exercise возвращает обзор одного упражнения и полные инструкции. exercism-solutions возвращает постраничный список решений сообщества с автором, языком, звёздами, комментариями, просмотрами и числом итераций. exercism-solution возвращает одно опубликованное решение с его полным исходным кодом, историей итераций и автором.
Да. Скрапер exercism-solution возвращает полный исходный код опубликованного решения вместе с его историей итераций, статусом тестов, числом звёзд и хендлом автора.
Начните бесплатно с 5 000 запросов и без кредитной карты. Платные планы масштабируются с использованием, и тот же токен работает во всех Crawling API и каждом скрапере Crawlbase.

Начните скрапить Exercism.
Забудьте о прокси и лимитах частоты.

Бесплатно для старта с 5 000 запросов. Один токен для Crawling API и каждого скрапера.