LeetCode Solution
Analysez une publication de solution de la communauté LeetCode en JSON structuré avec son auteur, ses tags, son texte, ses blocs de code extraits et ses compteurs d'engagement.
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' -Gfrom 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.
cpp.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\nThe 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..."
}
]
}