crawlbaseDocs
Se connecter
Seuls les blocs de code rendus sont renvoyés

Beaucoup de publications annoncent plusieurs langages mais placent les variantes derrière des onglets qui ne s'affichent qu'un à la fois. codeBlocks contient les blocs présents dans le texte tel qu'il est servi : une publication dont le titre annonce trois langages peut donc revenir avec des blocs dans un seul.

Utilisation de l'API

Ajoutez &scraper=leetcode-solution à une requête Crawling API. Encodez en URL l'URL cible dans le paramètre url.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/' \
  --data-urlencode 'scraper=leetcode-solution' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/',
    {'scraper': 'leetcode-solution'}
)

import json
data = json.loads(res['body'])
const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });

const res = await api.get(
  'https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/',
  { scraper: 'leetcode-solution' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/', scraper: 'leetcode-solution')
data = JSON.parse(res.body)

Exemple d'URL en entrée

N'importe quelle publication de solution de la communauté LeetCode fonctionne dans le paramètre url - la page située à /problems/<slug>/solutions/<id>/<post-slug>/. Par exemple :

https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/
https://leetcode.com/problems/two-sum/solutions/127810/two-sum-by-leetcode-kwuq/

Structure de la réponse

Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.

url
string
URL de la publication de solution analysée.
id
string | null
Identifiant de la publication repris de son URL, renvoyé sous forme de chaîne.
problem
string | null
Slug de l'exercice auquel la publication se rattache.
problemUrl
string | null
URL absolue de la page de l'exercice.
title
string | null
Titre de la publication.
author
object
Compte qui a publié la solution.
author.name
string | null
Nom affiché de l'auteur.
author.username
string | null
Identifiant de profil de l'auteur.
author.url
string | null
URL absolue du profil de l'auteur.
postedAt
string | null
Date de publication telle affichée sur la publication.
tags
array
Étiquettes présentes sur la publication - thèmes et langages - sous forme de tableau de chaînes.
views
integer | null
Nombre de vues de la publication.
upvotes
integer | null
Nombre de votes positifs sur la publication.
comments
integer | null
Nombre de commentaires sur la publication.
content
string | null
Le texte de la publication aplati en texte brut.
contentHtml
string | null
Le texte de la publication en HTML, avec les titres, les listes et le balisage de code préservés.
codeBlocks
array
Blocs de code extraits du texte, dans leur ordre dans le document.
codeBlocks[].language
string | null
Langage du bloc tel que LeetCode le libelle, par exemple cpp.
codeBlocks[].code
string | null
Le code source du bloc, avec son indentation d'origine.

Exemple de réponse

{
  "url": "https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/",
  "id": "3619262",
  "problem": "two-sum",
  "problemUrl": "https://leetcode.com/problems/two-sum/",
  "title": "✅3 Method's || C++ || JAVA || PYTHON || Beginner Friendly🔥🔥🔥",
  "author": {
    "name": "Rahul Varma",
    "username": "rahulvarma5297",
    "url": "https://leetcode.com/u/rahulvarma5297/"
  },
  "postedAt": "Jun 09, 2023",
  "tags": [
    "Array",
    "Hash Table",
    "C++",
    "Java"
  ],
  "views": 2368905,
  "upvotes": 12000,
  "comments": 285,
  "content": "Intuition\n\nThe Two Sum problem asks us to find two numbers in an array that sum up to a given target value. We need to r...",
  "contentHtml": "

Intuition

\n\n

The Two Sum problem asks us to find two numbers in an array that sum up to a given...", "codeBlocks": [ { "language": "cpp", "code": "class Solution {\npublic:\n vector twoSum(vector& nums, int target) {\n int n = nums.size();\n..." } ] }