Exercism Exercise
Parsen Sie eine einzelne Exercism-Übungsübersichtsseite in strukturiertes JSON mit Titel, Schwierigkeit und vollständigen Anweisungen als Text und HTML.
API-Nutzung
Fügen Sie &scraper=exercism-exercise zu einem Crawling API-Request hinzu. URL-kodieren Sie die Ziel-URL im url-Parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://exercism.org/tracks/ruby/exercises/two-fer' \
--data-urlencode 'scraper=exercism-exercise' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://exercism.org/tracks/ruby/exercises/two-fer',
{'scraper': 'exercism-exercise'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://exercism.org/tracks/ruby/exercises/two-fer',
{ scraper: 'exercism-exercise' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://exercism.org/tracks/ruby/exercises/two-fer', scraper: 'exercism-exercise')
data = JSON.parse(res.body)Beispiel-Eingabe-URL
Im url-Parameter funktioniert jede Exercism-Übungsübersichtsseite - die Seite unter /tracks/<track>/exercises/<slug>. Zum Beispiel:
https://exercism.org/tracks/ruby/exercises/two-fer
https://exercism.org/tracks/python/exercises/leap
https://exercism.org/tracks/go/exercises/hello-world
https://exercism.org/tracks/rust/exercises/grainsResponse-Struktur
JSON-Response-Body. Feldtypen können null sein, wenn die Quellseite den Wert nicht enthält.
URL der gescrapten Übungsseite.
Track-Slug aus dem URL-Pfad (zum Beispiel
ruby), oder null, wenn er nicht bestimmt werden kann.Übungs-Slug aus dem URL-Pfad (zum Beispiel
two-fer), oder null, wenn er nicht bestimmt werden kann.Anzeigetitel der Übung.
Schwierigkeitsbezeichnung (zum Beispiel
easy, medium, hard).Vollständige Übungsanweisungen als Klartext, mit reduziertem Whitespace.
Vollständige Übungsanweisungen als HTML, unter Beibehaltung von Überschriften, Code-Blöcken und Listen.
Beispiel-Response
{
"url": "https://exercism.org/tracks/ruby/exercises/two-fer",
"track": "ruby",
"slug": "two-fer",
"title": "Two Fer",
"difficulty": "easy",
"instructions": "Two Fer Two-fer is short for two for one. One for you and one for me. Given a name, return a string with the message: One for name, one for me. Where \"name\" is the given name. However, if the name is missing, return the string: One for you, one for me.",
"instructionsHtml": "Instructions
\nTwo-fer is short for two for one. One for you and one for me.
\nGiven a name, return a string with the message:
\nOne for name, one for me.
"
}